07.02.2015 Views

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

The Art of Reversing by Ap0x - Tutoriali.org

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!