You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PeCompact 2.22Moram da priznam da sam svojevremeno mislio da je PeCompactzastita bolja nego sto jeste. Sada sam konacno odlucio da se posvetimrucnom odpakivanju aplikacije zasticene PeCompactom 2.22. Posto sam sainterneta ranije skinuo sam trial PeCompact pakera primetio sam da se mogubirati moduli sa kojim ce se pakovati exe fajlovi. Default podesavaljeukljucuje samo jedan dll i on se zove pecompact_ffss.dll ali se metapakovana PeCompactom odpakuje isto kao da imamo i ukljucen dllpecompact_crc32.dll fajl. Meta za ovaj deo knjige je pakovana sa trialverzijom PeCompacta mada licno mislim da nema veze da li je trial ili ne,moram ovo da naglasim ako razlike ipak postoje. Sama meta se zovecrackme.pecompact22.exe a nalazi se u folderu Cas10. Ovu metu cemo otvoritipomocu Ollya, i na OEPu cemo imati sledece:004012C0 > $ B8 D07D4000 MOV EAX,crackme_.00407DD0004012C5 . 50PUSH EAX004012C6 . 64:FF35 00000> PUSH DWORD PTR FS:[0]004012CD . 64:8925 00000> MOV DWORD PTR FS:[0],ESP004012D4 . 33C0XOR EAX,EAX004012D6 . 8908MOV DWORD PTR DS:[EAX],ECXOvaj “OEP” izgleda dosta cudno. Metu cemo odpakovati na nacin na koji samje ja odpakovao. Precicemo deo OEPa sa F8 sve dok ne dodjemo do adrese004012D6 kada ce Olly prikazati Access violation. Ovo cemo iskoristiti u nasukorist. Pritisnucemo CTRL+F7 kako bi smo stigli do reda iznad kojeg se desioAccess violation. To se desilo upravo ovde:77FB4DB3 |. 8B1C2477FB4DB6 |. 5177FB4DB7 |. 53MOV EBX,DWORD PTR SS:[ESP]PUSH ECXPUSH EBXVidimo da se ne nalazimo u kodu crackmea nego se nalazimo u kodu ntdll.dllfajla. Sa F8 cemo se kretati kroz kod sve dok ne dodjemo do ove adrese:77FB4DC6 |. E8 480BFCFF CALL ntdll.ZwContinuetada cemo pritisnuti F7 da udjemo u ovaj CALL jer ce nas to vratiti na mestoiznad kojeg se desio Access violation. Sada se nalazimo ovde77F75913 >/$ B8 2000000077F75918 |. BA 0003FE7F77F7591D |. FFD2MOV EAX,20MOV EDX,7FFE0300CALL EDX77F7591F \. C2 0800 RET 8ali smo idalje u ntdll.dll fajlu, pa cemo zato sa F8 izvrsiti sve komande doukljucujuci i RET 8 komandu. Tada cemo se naci ovde:00407DF3 B8 796D40F0 MOV EAX,F0406D7900407DF8 64:8F05 0000000> POP DWORD PTR FS:[0]ovo je vec deo koda PeCompacta koji sluzi za odpakivanje fajla u memoriju.Ovaj deo koda cemo izvrsiti sa F8 sve dok ne dodjemo do adrese00407E94 5DPOP EBP00407E95 - FFE0 JMP EAX ; crackme_.i kao sto vidimo JMP EAX vodi do ModuleEnteryPoint-a to jest do samog OEPapa cemo i ovaj skok izvrsiti sa F8 i nacemo se na OEPu, koji posle analize saCTRL+A izgleda ovako:004012C0 >/$ 55004012C1 |. 8BECPUSH EBPMOV EBP,ESP004012C3 |. 6A FF PUSH -1Sada ostaje samo da dumpujemo memoriju sa LordPEo i da popravimoimporte sa ImpRecom, posle cega smo uspesno odpakovali PeCompact.<strong>The</strong> Art <strong>of</strong> Cracking by Ap0x Page 131 <strong>of</strong> 165