13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

a p 0 x C r y p t 0 . 0 1 - a CPosto predpostavljam da ste naucili kako se odpakuje vecinaprednodnih pakera, sada cemo preci na odpakivanje mog licnog kriptera. Ovavarijacija istog kriptera je samo ogoljena verzija onoga sto vas ceka nanightmare levelu ove knjige. Stoga bi odpakivanje aC bar na ovom nivoutrebalo da bude setnja u parku :) Prvo cemo skenirati metuunpackme#1.aC.exe sa PeIDom da vidimo sta on ima da kaze o njoj. Postomog kriptera nema u PeIDeovoj biblioteci on ce cutati po pitanjuidentifikacije ovoga kriptera. Nema veze neka nas to ne obeshrabriprobacemo sa odpakivanje aC-a pomocu PeID generickog unpackera. Davidimo, detect OEP - OK :), unpack OK, rebuild IAT ne zato sto IAT nijekriptovan i kada st<strong>art</strong>ujemo “raspakovani” fajl, crash. Naime ovo se desilozato sto PeID nije detektovao tacan OEP. Izgleda da cemo morati ovaj kripterda odpakujemo rucno, otvorite Olly i pogledajte kako izgleda “OEP”:00401000 >/$ 60 PUSHAD00401001 |. E8 E3000000 CALL unpackme.004010E900401006 \. C3 RETNista specijalno, pa cemo pritiskom 2x na F7 uci u prvi CALL da vidimo sta setu desava. Kada to uradimo nacemo se ovde:004010E9 /$ B8 F5104000004010EE |. 50004010EF |. E8 A7FFFFFF004010F4 \. C3MOV EAX,unpackme.004010F5PUSH EAXCALL unpackme.0040109BRETAko pogledamo sada prvu liniju videcemo da se u nju smesta adresa004010F5 ili adresa za koju je PeID mislio da je OEP. Ovo je izgleda ispalamoja licna anti-generic zastita. Posto i ovo nije nista specijalno ucicemo usledeci CALL sa F7. To ce nas dovesti ovde:0040109B /$ 50 PUSH EAX ; unpackme.004010F50040109C |. 8BD8MOV EBX,EAX0040109E |. B9 54010000 MOV ECX,154004010A3 |> 8033 44/XOR BYTE PTR DS:[EBX],44004010A6 |. 83E9 01|SUB ECX,1004010A9 |. 43|INC EBX004010AA |. 83F9 00|CMP ECX,0004010AD |.^ 75 F4\JNZ SHORT unpackme.004010A3004010AF |. 50PUSH EAX004010B0 |. E8 08000000 CALL unpackme.004010BD004010B5 |. 50PUSH EAX004010B6 |. E8 7EFFFFFFCALL unpackme.00401039004010BB |. 58POP EAX004010BC \. C3RETOvo izgleda malo ozbiljnije, ali opet nista komplikovano. Jednostavnocrackme uzima adresu 004010F5 kao pocetnu i xoruje sledecih 154h bajtovasa vrednoscu 44h. Posle ovog loopa se poziva jos jedan CALL sa istimparametrom EAX. Da nebi smo izvrsavali loop 154h puta postavicemo breakpointna adresu 00401AF odnosno na PUSH EAX komandu. Kada ovo uradimopritisnucemo F9 da bi smo dosli do naseg break-pointa. Sada cemo sa F7 uciu sledeci CALL i nacemo se ovde:004010BD /$ 50 PUSH EAX ; unpackme.004010F5004010BE |. BB 07104000 MOV EBX,unpackme.00401007004010C3 |. B9 7F000000MOV ECX,7F004010C8 |> 8033 07/XOR BYTE PTR DS:[EBX],7004010CB |. 83E9 01|SUB ECX,1004010CE |. 43|INC EBX<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 146 <strong>of</strong> 165

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

Saved successfully!

Ooh no, something went wrong!