13.07.2015 Views

The art of cracking - Tutoriali

The art of cracking - Tutoriali

The art of cracking - Tutoriali

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.

Pritisnucemo F9 jos 2x kada stignemo do tog break-pointa. Zasto ??? Zatosto ce se dole u Hex Dumpu (donji levi deo prozora) prikazivati odpakovanibajtovi. Kada i treci put pritisnemo F9 u Hex Dumpu cemo imati ovo:00404000 55 4E 52 45 47 49 53 54 UNREGIST00404008 45 52 45 44 21 21 21 21 ERED!!!!00404010 21 21 21 21 21 21 21 21 !!!!!!!!00404018 21 00 54 68 69 73 20 69 !.This i00404020 73 20 74 68 65 20 55 4E s the UN00404028 52 45 47 49 53 54 45 52 REGISTER00404030 45 44 20 76 65 72 73 69 ED versi00404038 6F 6E 2C 79 6F 75 20 6D on,you m00404040 75 73 74 20 50 41 59 21 ust PAY!00404048 00 00 00 00 00 00 00 00 ........a ovo izgleda kao odpakovani kod. Mozete da pritisnete F9 i cetvrti put ali cese program st<strong>art</strong>ovati i mi necemo stici do naseg OEPa. Verujte mi probaosam vise puta ovo. Zato cemo pritisnuti F8 sto ce nas odvesti do sledeceadrese:00408975 61 POPAD00408976 56 PUSH ESI00408977 57 PUSH EDIPolako sa F8 cemo vrsiti trace nadole sve dok nestignemo do adrese:004089AD ^\7F D3 JG SHORT demo_tEl.00408982Ovo je jedan jakooo dugacak loop u verujte mi ne zelite da ga izvrsavatecelog, stoga cemo postaviti break-point odmah ispod ove adrese,postavicemo break-point na:004089AF 5FPOP EDIIdalje traceujemo na dole sa F8 sve dok ne dodjemo do adrese:00408BBF FF95 889C4000 CALL DWORD PTR SS:[EBP+409C88]kada se u registrima pojavljuje ime user32.dll fajla. Posle detaljne analizeshvatio sam da ovaj deo koda sluzi za odpakivanje i rekonstrukciju IATa(import tabele) stoga sam traceovao do zadnje adrese u ovom loopu koji sluziodpakivanje IATa. Drzacemo F8 sve dok ne dodjemo do ovoga:00408E49 8803 MOV BYTE PTR DS:[EBX],AL00408E4B 43INC EBX00408E4C 3803CMP BYTE PTR DS:[EBX],AL00408E4E ^ 75 F9JNZ SHORT demo_tEl.00408E4900408E50 8385 1A9D4000 0>ADD DWORD PTR SS:[EBP+409D1A],400408E57 ^ E9 5DFEFFFF JMP demo_tEl.00408CB9Kada dodjemo do ovoga takodje cemo imati loop koji ubacuje API pozive uIAT tabelu. Postavicemo stoga break-point na 00408E57 i pritisnucemo F9 dadodjemo do njega. Sa F8 se ponovo vracamo na pocetak ovog loopa zaodpakivanje IATa. Pritisnucemo F9 10x sto je ekvivalentno tome da smoodpakovali u memoriju deset API poziva. Zasto bas 10x ??? Pa mozete sa F8traceovati ceo ovaj loop 10x i videcete da cete stalno dolaziti do break-pointana adresi 00408E57. Sada cemo sa F8 preci jos 1x ovaj deo koda zaodpakivanje IATa i ponovo cemo stici od 00408E57. Drzacemo sada ponovoF8 kako bi odpakovali sledecu API funkciju, ali... Izgleda da nema vise APIfunkcija jer smo sada stigli do jednog drugog loopa koji kako vidimoprepravlja memoriju. Ovaj loop se nalazi ovde:00408EFB AC00408EFC 320600408EFE AA00408EFF ^ E2 FALODS BYTE PTR DS:[ESI]XOR AL,BYTE PTR DS:[ESI]STOS BYTE PTR ES:[EDI]LOOPD SHORT demo_tEl.00408EFBPosto je i ovo veoma dugacak loop postavicemo break-point na CALL koji senalazi odmah ispod LOOPD komande, postavicemo break-point na adresu:<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 129 <strong>of</strong> 165

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

Saved successfully!

Ooh no, something went wrong!