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.

F S G 1 .33 - 2.0FSG takodje sluzi samo za smanjenje velicine konacnogkompajlovanog exe ili dll fajla. On, kao ni UPX, u sebi ne sadrzi kod zazastitu od odpakivanja ili debuggovanja sa Ollyem ili bilo kojim drugimdebuggerom. Pre nego sto pocnemo sa odpakivanjem mete pakovane saFSGom objasnicu par stvari vezanih za kod koji odpakuje program umemoriju. Bez obzira na vrstu i verziju pakera sledeca stvar mora uvek bitiispunjena:Posle izvrsavanja koda za odpakivanje program ce nekako skociti navirtualnu adresu odpakovanog koda. Ovo skakanje moze biti uradjeno samona dva nacina, preko komande RET u slucaju da se kod za odpakuvanjeponasa kao CALL i preko komande JMP (i varijanti) kada se posleodpakivanja direktno skace na OEP.Ovo je najbitnije pravilo sto se tice odpakivanja zapakovanih programa i uvekmora biti ispunjeno sto cemo mi iskoristiti u nasu korist. Meta pakovana saFSGom se nalazi u folderu Cas10 a zove se crackme.fsg.exe i nju cemoodpakovati uz pomoc Ollya. Kada otvorite ovu metu pomocu Ollya videcetesledece komande na mestu OEPa:00405DC5 > BE A401400000405DCA AD00405DCB 9300405DCC AD00405DCD 9700405DCE ADMOV ESI,crackme_.004001A4LODS DWORD PTR DS:[ESI]XCHG EAX,EBXLODS DWORD PTR DS:[ESI]XCHG EAX,EDILODS DWORD PTR DS:[ESI]Ocigledno je da je ovo kod koji pripada pakeru i da to nije originalninepakovani kod. Kao i kod UPX se na kraju koda za odpakivanje nalazigomila 0x00 bajtova. Deo koda od packer OEPa pa do 00405E8C predstavljadeo koda koji sluzi direktno i samo za odpakivanje. U ovom delu koda cemopokusati da pronadjemo skok koji bi vodio do adrese koja ne pripada ovomdelu adrese, od 00405DC5 do 00405E8C. Svi skokovi pripadaju ovom deluadresa osim jednog koji se nalazi na adresi 00405E66.00405E66 - 0F84 26B5FFFF JE crackme_.00401392Ovaj skok moze voditi direktno do OEPa. Ovo mozemo proveriti tako stocemo staviti break-point na tu adresu i pusticemo je da se izvrsi. Posto je ceovom malo duze trajati jer se ovaj skok neizvrsava vise puta ali se prekonjega prelazi vise puta pa zbog toga nije pozeljno traziti OEP na ovaj nacin.Mi cemo iskoristiti cinjenicu da se u registru EIP uvek nalazi adresa koja cesledeca izvrsiti. Dakle ako je EIP = 00401392 sledeca adresa koja ce seizvrsiti je 00401392 to jest pravi OEP. Za ovo cemo iskoristiti mogucnot kojunam pruza Olly:Tracing. PritisniteCTRL+T, ispuniteprozor kao naslici i pritisniteOK. Sada namostaje samo daporenemo Tracepritiskom na<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 123 <strong>of</strong> 165

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

Saved successfully!

Ooh no, something went wrong!