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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

tastaturi njegovo ime. Sada kada smo ga nasli i selektovali postavicemo<br />

break-point na njega, pritisnite desno dugme na tom APIju i selektujete<br />

Toggle breakpoint on import, sto znaci da ce program stati kada program<br />

prvi put pozove ovaj API. Sada pokrenite program i pritisnite ::Run Game:: i<br />

program je zastao ovde:<br />

Ako pogledate ovo cudno mesto gde smo sada nista vam nece biti jasno.<br />

Videcete samo da EAX sadrzi string A: i da ovaj deo koda najverovatnije sluzi<br />

sa proveru uredjaja A: Ali ovde nam je nesto cudno, pogledajte te adrese sa<br />

strane 77, kao da se nalazimo u nekom DLLu Ako pogledate ime<br />

prozora Ollyja videcete da u njemu pise [CPU main thread, module kernel32]<br />

sto znaci da mi i jesmo u DLLu i to u kernel32.dll Skinimo ovaj break-point sa<br />

77E69143 (moze se razlikovati na vasem kompjuteru) i pritiskajuci F8 sve dok se<br />

ne izvrsi i RET 4 komanda. Sada smo se iz kernel32.dll-a vratili u nasu metu.<br />

Nalazimo se u jednoj malo duzoj petlji odmah ispod:<br />

00408403 |. 50 |PUSH EAX ; /RootPathName<br />

00408404 |. E8 93C7FFFF |CALL JMP.&kernel32.GetDriveTypeA ; \GetDriveTypeA<br />

a odmah iznad<br />

00408409 |. 83F8 05 |CMP EAX,5 \43<br />

004084AB |. 83FB 5B<br />

|INC EBX<br />

|CMP EBX,5B<br />

004084AE |.^ 0F85 08FFFFFF \JNZ cd.004083BC<br />

Primecujemo da se ovde EBX poredi sa 5Bh ili sa 91 decimalno, ako je broj<br />

veci ili jednak program ce nastaviti sa izvrsavanjem i izaci ce iz ove petlje.<br />

Ovo znaci da ce se pretraziti svi uredjaji u sistemu od A: do Z: (90 je ASCII<br />

kod za Z) u potrazi za CD-ROMom. Ok sada smo saznali dosta o ovoj zastiti<br />

postavimo break-point na 00408409 da saznamo sta se dalje desava posle<br />

provere CMP EAX,5. Ako pritisnemo F8 program ce izvrsiti ovu komandu i<br />

preci ce na izvrsavanje sledece. Ono sto ne zelimo da se desi je da se izvrsi<br />

skok na kraj petlje pa cemo NOPovati adresu 0040840C. Izvrsavamo kod sa<br />

F8 sve dok ne stignemo do adrese 0040842B kada nam sadrzaj EAXa izgleda<br />

jako zanimljivo. EAX je sada jednak “A:\main.xxx”. Sta ovo znaci Ovo znaci<br />

da program ili proverava postojanje fajla “A:\main.xxx” na “CDu” ili<br />

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

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

Saved successfully!

Ooh no, something went wrong!