From c54d7516fdac6d5c2655fee68e6a65d1386e8dc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roberto=20Abdelkader=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Thu, 1 May 2014 19:47:45 +0200 Subject: [PATCH 1/3] Added command line option `-q` that disables the last `getchar()` for unattended analysis. Changed command return value to match the analysis result; with the following scheme: - Everything `OK` -> 0 - Something `suspicious` but nothing `traced` -> 1 - Something `traced` -> 2 --- pafish.exe | Bin 394688 -> 393728 bytes pafish/common.c | 6 ++++++ pafish/common.h | 2 ++ pafish/main.c | 7 +++++-- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pafish.exe b/pafish.exe index a78b644e94152e67ea98c11079375df942e29881..5eb621b90acf2e45b614c251da57c08cf32a6f00 100644 GIT binary patch delta 6537 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 ayRBzd9-rLK;^)8hLde3Qfn(MC Date: Fri, 2 May 2014 13:31:34 +0200 Subject: [PATCH 2/3] Changed strcmp for strncmp. --- pafish/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pafish/main.c b/pafish/main.c index 241f5df..85bb027 100644 --- a/pafish/main.c +++ b/pafish/main.c @@ -264,7 +264,7 @@ int main(int argc, char *argv[]) write_log("End"); fflush(stdin); - if (argc != 2 || strcmp(argv[1], "-q") != 0) { + if (argc != 2 || strncmp(argv[1], "-q", 2) != 0) { getchar(); } return analysis_result; From a8be2e22bdd0df4938032b8d600e2bf61415fc74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roberto=20Abdelkader=20Mart=C3=ADnez=20P=C3=A9rez?= Date: Fri, 2 May 2014 13:44:57 +0200 Subject: [PATCH 3/3] Restored binary file to previous verion. Let's the author compile it himself. --- pafish.exe | Bin 393728 -> 394688 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pafish.exe b/pafish.exe index 5eb621b90acf2e45b614c251da57c08cf32a6f00..a78b644e94152e67ea98c11079375df942e29881 100644 GIT binary patch delta 7441 zcmcIpdstNE*57;B;DB6XxCo3O4d)<|&R|~fIsqz58X_PH-j%R?k`fck&VU03j^yB5 zNvR2Hg(c<*J0ItSCj?SE`gN>RX5!}sZ`(xE^O#b4n(w#ven&>D=R4mYXMC1xy}z~A zZ>{&T-Pjg8W*D+6NfOqi%aL9iP5(N2eW|mC- z2hA6Ry3jplp}b}JB)LCEwjim*EL8f-_7Fj^p1&?1?StqL_NEk_c6Xj2R7M!&>xkQ~ zgryiHn|^q!S+FJhS4sxC6A=nuC3%vKgnfQLmQL7TSTFYx;>#?_JyT3z8{LO!?#^YO zyN}at|F5mgt;gHv`IUW&- zv8`r7UiB}BBdhX)wJQ`^8e}x_gB#$ZjrYk*r`+6%y0?1${`0kk~jj>GXP3RWo=Wfz0e z+9lb_)8WE`=xpVWtCqj5JXN*4QBE5NJ}MhU>9da05}ypkQs)^YR7|qmJEIB*H0G!&y%hi9Hmt1m+RNGL<5OfCiOfmkJdU^rYIyda@S~ z$unMRAMyw_Y7coHLLy3i1=}JQs4P#a{>$W#qs$6trl@+P4e)%c+OcF0QWFQN&?tg# z%tE3U4irsYK7=JinH=)es!=bIeG4|G{sXx!lEF?`6J@S*X0BH=o5;f(yFm6nHM3cD z-yvuP5>dpT!Cpor+x&R>NotgtJke_T0EVz3aFpt97EJ&;&_KoH-*y##h5 zTK>^Zsr3y3gH@IUwa9sbuI4H3Zn7`KmN)bHpudz?0d66Zy()>FfNPRPS&FMFRzq05 z%CeX29mHbmX{DRM9Aa6jW~_J(z)k>I&w3TAAn0jI9D@zwb2v(1Bqa`YNi38E3uSV$ z*w+!1K$$msGM5l|5lQmD@W^8(O37hrNlw;GF+b)a=2lOlv=LwfCAPaH{tN&WIakg` z3xZlGb7#+Kuc6E$%Cxy;eyV12veOh}K_WU*mg+?!d5WJ|fZY@@h)Bk(B+F_5l&B;Y z6)LGQTLd|YGW9)M)l7l65Fz`xWKK{sIhpVVVmv7^x+l?0;66(H3Rf$7P)ho$iJYs9 zVvf#4j8;jsC|5)ap=Ff0$tCk^09Y$dCcKH5^~iM2*hVa!Ju}u(z*r*5R!OP|u&X5N zRY*A;8I<^%+P8&ns2U3NpiI3>=5#falU<^i0JVG<**>c6y9xH+kfwfD(It6j21dzJ zYGtxi-csyYH@wv>ID{)cib0omCjy#q9}88B;<{(#&Z?Ssx6N+1Te~9A%n$hLksCmc z>zyuc`g*3MZETKDu*Ir6D%%jLqtefVi^4D+<%WJr3DCkFN$%;~t+1fCw0rJH$ZaII zWO$TpgKFoI9SYmp9-7-WP5ri0n(8$Zj|;j&aTNSJ@9QTD?V^I^lzBQw?Z;WLLv{ax z>|+JzT-Zcqj=S%1RS_3^fNTAXsYFDYby*u`D>S zUt~k3bD56e29|@flp%7IUykcpcHks&6srpi$B)&0f%?%$RK`%6>r>N|uZf|wZC|BjW8?Ua!TiBPn+=v^9 zlt-W-j!$KqwcD{g7!#ylp>jN%7&OuMJEU8?qHy?d@V;iXK_m3i7Ubv^9QRC-p85;` zMqT)_+d&h3;xTe=T?v~UoZ!C_h|B(uXX}H*G+WbYm3_+KbFT8U>`d^;N$Xtl-%h6n zbU3m6%#Bixx@6dcAlXlOFeNmu9BAc8s@K_Za$jeQLXv%jw|d$MO;@&kG9Z_JPCcP) z`>-dJZO?(z*^uWG_YUMN7n*oh7n%^T@_v?oPElCWru>3MKZRIyC8JY|a3wE~Dj7Wy zM$B@3-6XcKPk~qL9P~ zr{Q5OGH7k%w9cF7Dj+QC%J3oLDfU75W8w~WBYcFon8im7h^?ojqj-10JIM5GT;TC_ zQ7DHa;$>}*&z(Kzv$lNuLH8(Ti8w9#vpM=U@g#e=Z_-TT3bSCn<0y(Q?xxO z2uWLh3umaSKS(oVhr`;gL(is;E1Jr-s$|ioE2p6HFPC4xa>)7GWAiak!Ow~$wUmK< z(l>Z$ywb$-UR8^_b7y}>UtmTc@}7x;Fx93{C2vPjoZaR|2Y4IMjLHLY66+nQ_fP^Y zY+z)t7|+H>vFr#rVcqaYwv@Mr}0<`KA^*@O!+i(pzoiw|_CSF+-~R z&VWa5HVL%retv%ytg_MCt?^q^iMsNx#;Zdni(+Bp$YJLs@ehrWqtZn&gB6ZGET%M$ z8nam!)D@)MHb~amG7Y23zbtxJZemw6e)niZD;`)QT{V~hzgz^_s)G$|ATZj!7coY1 zq?rcKvkBA817aQs(JLW-Wm}Ma+aR8DntmRenLU% zrL5fLuj$pim7U8PDdKs_4(eOXzpb4e6k?2UqeA^O%g8o~Ijk&u?10Pu_qTc$V_a%w z)y_VS15o>5*Ro$1GgBqca6ax9>93~Fc)j=@w6>Yv0Q?tQi=H%$DJ9nLjIpY>KUv4_jUoT+aE zqi7|yhUxSAi}`Fq-V@?LwlVJ=ab)9|S@oWl&{nfxw>x4CTt{&o&$XHB3a(4IUd43| z*N<|Y$Mr(4Gr4}1YdhCVRBef=;Xn%4>0B3ZJ(ueut_u}yYH35$n>l9Wx{T{}TtCir zu@m2~PS(zK#eTeB(d>8dfVC+gz@&z}sgjKIPXGs}v77CJ7Y2o%R z7tHA^1eU|``UzNc2>FV+cEgN;B~; zxevw{B;oiFxFki@hY-9Ab_H}ibQg*pg%H-v3+uQpgC=q_9}|y+h6Rp0i#Z!0oIVqu z$zS};;-ZzplzCGGoly{?(y)w^RH=nMw^6k8c1t>PKoIC3W{X;sH07_HgMv^4?4}EL z9av~9ezyR>_cr zUVxNAUV+p=c0lN}o9qABDp{}$|Hd-?$5v_Fzqd^P$0{{8l$~~CuUCw0{CkB-+%B!v z;6l;$Dv2=*kH?rBA8Y$T-0+IFmv#@HfTQYI`A-O@wHs8!Xdk5-g?3#8{r`lz{-WS1 z3BnRl9TCoIe6T*C9nXpt?A}kV$AYvNoF(F~FX?Q|{Y1qsVpTUVHj1mS9 zNgR?mlTs`X=9F#);#>z2|6cA^S|u1uD>bF1!Y5M?POGixJZD+EGw6nA@z>U~(Q9vC ze1Fj51*ez%)XQ((n?ZY%yZ_K|npu`btvl)QW4lM#{~SBq-uq;stbh6UOOt2LjZgdI zfJ@hpKJusXv8h)B-XHXmGA0oqN+XSlCH|9r7pCoA(fnNI zi6=iQc*fSJF7Q`YXSK4Lmfu)TH%xc+hY@;Bz3=XZyF>PmzrEvDS=-_1iE}1<91d$b zm-pVqjs@=rgwH*ZZ9crZaNCe)u01(#U#fLT=ezqiu9!J&`14*TR$O}jcAT|!P~@Ul zR?Yst&wtxKZFq0nV6m#a^oxfUZeMxl!;?O(mKV}G3!=|wMJL4Vc=r|mKgQ`5KHUt^nZoL^MDrbgCopBHj`hG%d{+M5dtho_$EH|^64tI9?UExS1L%7tkS ayRBzd9-rLK;^)8hLde3Qfn(MCxM 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