The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
The Art of Reversing by Ap0x - Tutoriali.org
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
WinUPack 0.2x<br />
WinUPack je jedan odlican novi packer sa zavidnim nivoom pakovanja,<br />
koji je jedan od trenutno najmanjih pakera koje sam do sada sreo i testirao.<br />
Nasa meta, koju cemo otpakivati, je pre pakovanja imala 5.0 kb a posle<br />
pakovanja ima 3.58 kb. Poredjenja radi samo MEW 1.1 je bolji sa ratiom od<br />
3.07 kb, ali ta razlika nestaje i prelazi u koristi WinUPacka prilikom<br />
kompresovanja vecih fajlova. Meta za ovaj deo poglavlja je WinUPack.exe a<br />
nalazi se u folderu Cas10. Njeno otpakivanje je krajnje jednostavno jer je<br />
WinUPack paker a ne protektor, stoga se otpakivanje svodi na pretrazivanje<br />
koda za skokom koji vodi u glavnu .Code sekciju, sto je slicno postupku<br />
otpakivanja FSGa. Bez nekog detaljisanja pronalazimo skok ka OEPu:<br />
00405B87 85C0 TEST EAX,EAX<br />
00405B89 - 0F84 C1B6FFFF JE WinUPack.00401250<br />
00405B8F 56 PUSH ESI<br />
na koji postavljamo obican breakpoint i pritiskamo F9. WinUPack ce doci do<br />
ovog breakpointa vise puta pa stoga posmatramo Olly i cekamo da se skok<br />
izvrsi. Nadgledamo deo ekrana koji se nalazi odmah ispod glavnog code<br />
windowa, a sadrzi sledeci tekst:<br />
Jump is NOT taken<br />
00401250=WinUPack.00401250<br />
Naravno sada nam ostaje da pritiskamo F9 sve dok se tekst koji posmatramo<br />
ne promeni u sledece:<br />
Jump is taken<br />
00401250=WinUPack.00401250<br />
Posle cega nam ostaje samo da pritisnemo F8 i naci cemo se na OEPu koji<br />
trenutno izgleda ovako:<br />
00401250 55 DB 55 ; CHAR 'U'<br />
00401251 8B DB 8B<br />
00401252 EC DB EC<br />
00401253 83 DB 83<br />
00401254 EC DB EC<br />
00401255 44 DB 44 ; CHAR 'D'<br />
00401256 56 DB 56 ; CHAR 'V'<br />
Zbog cega se naravno mora uraditi analiza koda pomocu klika na CTRL+A,<br />
posle cega kod od gore postaje:<br />
00401250 /. 55 PUSH EBP ; USER32.77D40000<br />
00401251 |. 8BEC MOV EBP,ESP<br />
00401253 |. 83EC 44 SUB ESP,44<br />
00401256 |. 56 PUSH ESI<br />
00401257 |. FF15 0C204000 CALL NEAR DWORD PTR DS:[40200C] ; [GetCommandLineA]<br />
0040125D |. 8BF0<br />
MOV ESI,EAX<br />
0040125F |. 8A06<br />
MOV AL,BYTE PTR DS:[ESI]<br />
00401261 |. 3C 22 CMP AL,22<br />
00401263 |. 75 14 JNZ SHORT WinUPack.00401279<br />
Naravno kao sto smo to radili sa svakim pakerom ovde radimo memory<br />
dump pomocu LordPEa ili ProcDumpa i na dumpovanom fajlu radimo<br />
popravku importa pomocu ImpReca, koji ce naravno pronaci sve importe<br />
odmah jer se ovde radi o obicnom pakeru, pa nema redirekcije ili enkripcije<br />
API poziva. Jos jednom ovo je odlican paker koji ce drasticno smanjiti<br />
velicinu vasih .exe fajlova stoga predlazem da ga koristite ako radite na<br />
fajlovima koji prelaze velicinu jednog megabajta.<br />
<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 233 <strong>of</strong> 293