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.

tElock 0.96<br />

Pre nego sto pocnemo sa otpakivanjem pomocu Ollyja moracemo<br />

da ga podesimo tako da stignemo do OEPa najbrze sto mozemo (bice to<br />

sa tri klika). Dakle otvorite Olly i idite u meni Debugging options (ALT + O),<br />

selektujte tab Exceptions i selektujte samo sledece checkboxove:<br />

- Ignore memory access violations in Kernel32<br />

- INT3 breaks<br />

- Single-step break<br />

- Integer division <strong>by</strong> 0<br />

Zasto ovo radimo Jednostavno tELock ce nam "bacati" ove exceptione<br />

pokusavajuci da detektuje da li je debugger aktivan. Pored ovoga je<br />

potrebno da imate ukljucen OllyInvisible ili HideOlly plugin. Kada ovo<br />

uradimo, mozemo da starujemo nasu metu (..\Cas10\CrackMe10.tElock<br />

0.98b1.exe) pomocu Ollyja i da pocnemo sa otpakivanjem. Prve linije koje<br />

se nalaze na OEPu izgledaju ovako:<br />

00407BD6 > $^\E9 25E4FFFF<br />

JMP CrackMe1.00406000<br />

00407BDB 00 DB 00<br />

00407BDC 00 DB 00<br />

00407BDD 00 DB 00<br />

00407BDE A8 DB A8<br />

00407BDF 02 DB 02<br />

00407BE0 D6 DB D6<br />

Postoji vise nacina na koje mozemo doci do samog OEPa ali mi cemo to<br />

uraditi na najbrzi moguci nacin. Pritisnite F9 kao da pokusavate da startujete<br />

program, ali cete umesto startovanja programa zavrsiti ovde:<br />

004066A8 8D DB 8D<br />

004066A9 C0 DB C0<br />

004066AA 74 DB 74<br />

Posto Olly nije stigao da analizira ovaj kod, pritisnite CTRL + A da biste videli<br />

sta se stvarno nalazi ovde:<br />

004066A8 8DC0 LEA EAX,EAX ; Illegal use <strong>of</strong> register<br />

004066AA 74 DB 74 ; CHAR 't'<br />

004066AB 03 DB 03<br />

004066AC . CD 20 INT 20<br />

004066AE > 64:67:8F06 00> POP DWORD PTR FS:[0]<br />

Kao sto vidite LEA EAX,EAX je ilegalna komanda i zato Olly ne zna sta da<br />

uradi ovde. Da bismo presli preko ove komande potrebno je da pritisnemo<br />

SHIFT + F9 posle cega cemo doci ovde:<br />

00406BA6 CD DB CD<br />

00406BA7 68 DB 68 ; CHAR 'h'<br />

00406BA8 66 DB 66 ; CHAR 'f'<br />

00406BA9 05 DB 05<br />

Posto je ovo access violation greska i ovde cemo pritisnuti SHIFT + F9 da<br />

bismo ponovo pokusali da startujemo program, ali cemo kao i prosli put<br />

zavrsiti na LEA EAX, EAX komandi ovde:<br />

004076F1 8DC0 LEA EAX,EAX ; Illegal use <strong>of</strong> register<br />

004076F3 EB 01<br />

JMP SHORT CrackMe1.004076F6<br />

Ako sledeci put pritisnemo SHIFT + F9 program ce se startovati! Posto ovo<br />

znamo (mozete to i da proverite) mozemo da postavimo jedan memorijski<br />

breakpoint na glavnu sekciju kako bismo presreli izvrsenje koda koji se nalazi<br />

u glavnoj sekciji. Samim presretanjem cemo se naci na OEPu. Otici cemo u<br />

Memory window (ALT + M) i postavicemo Memory breakpoint on access na<br />

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

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

Saved successfully!

Ooh no, something went wrong!