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.

Virogen Crypt 0.75<br />

Na PELocku sam vam vec pokazao kako se konfigurise Olly da bi sam<br />

pronasao pravi OEP. Ovaj primer ce vam pokazati kako iskoristite ovu opciju<br />

kada vas Olly dovede samo na pola puta do OEPa. Meta na kojoj cu vam ovo<br />

pokazati se zove crackme #1.VirogenCrypt075.exe, kada je ucitamo u Olly on<br />

ce za nas naci “pravi” OEP. On izgleda ovako:<br />

0040100E > \66:B8 0000 MOV AX,0 ; Real entry point <strong>of</strong> SFX code<br />

00401012 . EB 00 JMP SHORT crackme_.00401014<br />

00401014 > 40 INC EAX<br />

00401015 . 83F8 64 CMP EAX,64<br />

00401018 .^ 72 FA JB SHORT crackme_.00401014<br />

0040101A . BB 64000000 MOV EBX,64<br />

0040101F . 3BC3<br />

CMP EAX,EBX<br />

00401021 . 8D3D F7104000 LEA EDI,DWORD PTR DS:[4010F7]<br />

00401027 . 2BFB SUB EDI,EBX<br />

00401029 . FFE7 JMP EDI<br />

Naravno ovo sigurno nije pravi OEP. Ako pocnemo da izvrsavamo ovaj<br />

dugacak loop:<br />

00401018 .^\72 FA JB SHORT crackme_.00401014<br />

to ce potrajati, pa cemo postaviti jedan breakpoint odmah ispod ovog skoka.<br />

Postavicemo breakpoint na 0040101A i pritisnucemo F9. Kada se ovaj loop<br />

zavrsi mi cemo se naci na nasem breakpointu. Sada cemo izvrsiti sve do<br />

skoka JMP EDI sa F8 i kada izvrsimo i taj skok naci cemo se ovde:<br />

00401093 . 6A 00 PUSH 0<br />

00401095 . 8D05 52304000 LEA EAX,DWORD PTR DS:[403052]<br />

0040109B . 50<br />

PUSH EAX<br />

0040109C . 8D1D 00304000 LEA EBX,DWORD PTR DS:[403000]<br />

004010A2 . 53<br />

PUSH EBX<br />

Ovo lici na sam OEP, a da li je Naravno mozete probati i da izvrsite kod na<br />

dole i videcete da je ovo u stvari pravi OEP. Znaci adresa na kojoj mozemo<br />

izvrsiti dump je 00401093. Posle ovoga nam ostaje samo da popravimo<br />

importe.<br />

NAPOMENA:<br />

Kako znamo da je ovo pravi OEP<br />

Pa i ne znamo u stvari mozemo samo da nagadjamo. Ali ako se dugo<br />

vremena bavite reversingom videcete da se sami OEPi razlikuju samo ako<br />

reversujete exe koji su kompajlovani drugim kompajlerima. Tako ce VB uvek<br />

imati isti OEP, Delphi isto, i svi ostali programski jezici ne racunajuci TASM /<br />

MASM jer kod njih OEP moze da izgleda proizvoljno i zavisi od samog kodera<br />

sto nije slucaj sa VB,Delphijem,...<br />

<strong>The</strong> <strong>Art</strong> <strong>of</strong> <strong>Reversing</strong> <strong>by</strong> <strong>Ap0x</strong> Page 236 <strong>of</strong> 293

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

Saved successfully!

Ooh no, something went wrong!