-
-
Unpacking Obsidium v1.2
-
发表于: 2005-5-2 15:20 4748
-
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Uvod ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Eto, posto Ap0x nije bio ljubazan da nam pokaze kako se popravlja IAT za
Obsidium v1.2 pakovan crackme, moracu ja :)
SALIM SE Ap0x-e !!!
Anyway, Ap0x nam je lepo objasnio kako se dolazi do OEP-a kod ovog
protektora, ali nam fali jos samo objasnjenje kako popraviti IAT, jer
ImpRec nikako ne uspeva sam da popravi IAT, cak ni sa ObsidiumIAT pluginom.
Oke, dosta chit-chata! Let's fix some IAT :)
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Alati ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
?OllyDbg v1.10 + OllyDump
?ImpRec v1.6 FiNAL
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Reversing ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Dakle, pratimo Ap0x-ov tutorial dok ne dodjemo do OEP-a, tj do ovog koda:
004012CF . 64:A1 0000000>MOV EAX, DWORD PTR FS:[0] ; Real entry point of SFX code
004012D5 . 50 PUSH EAX
004012D6 . 64:8925 00000>MOV DWORD PTR FS:[0], ESP
004012DD . 83EC 58 SUB ESP, 58
004012E0 . 53 PUSH EBX
004012E1 . 56 PUSH ESI
004012E2 . 57 PUSH EDI
004012E3 . 8965 E8 MOV DWORD PTR SS:[EBP-18], ESP
004012E6 . FF15 58404000 CALL NEAR DWORD PTR DS:[404058]
Mada ovo nije pravi OEP, program ce raditi lepo.
Otvaramo ImpRec i izaberemo nas proces. Unesemo gornji OEP pa
IAT AutoSearch. Onda idemo na Get Imports.
Blah, nijedan dobar import!
Sada cemo da pristupimo identifikaciji API-ja.
Gledamo u prvi invalid import u ImpRec-u:
rva: 00004000 ptr: 007A3FD0
Idemo u Olly-ju na adresu 007A3FD0:
007A3FD0 60 PUSHAD
007A3FD1 66:B8 0000 MOV AX, 0
007A3FD5 B1 00 MOV CL, 0
007A3FD7 ^ E9 C9E7FFFF JMP 007A27A5
Postavimo New origin na 007A3FD0.
Sada koristimo Trace komandu. U CommandBaru kucamo:
TC EIP > 70000000
Zasto kucamo taj Trace Condition?
Jer se API-ji nalaze na adresama vecim od 7XXXXXXX
Olly se zaustavio na ovom kodu:
77E86C42 > 55 PUSH EBP
77E86C43 8BEC MOV EBP, ESP
77E86C45 837D 08 00 CMP DWORD PTR SS:[EBP+8], 0
77E86C49 0F85 BD300000 JNZ KERNEL32.77E89D0C
77E86C4F 64:A1 18000000 MOV EAX, DWORD PTR FS:[18]
77E86C55 8B40 30 MOV EAX, DWORD PTR DS:[EAX+30]
77E86C58 8B40 08 MOV EAX, DWORD PTR DS:[EAX+8]
77E86C5B 5D POP EBP
77E86C5C C2 0400 RETN 4
Da bi saznali koji je ovo API, kliknemo desnim tasterom misa na
code window u Olly-ju i idemo na:
Search for -> Name in all modules
Sortiramo API-je po adresi i trazimo koji API pocinje na adresi 77E86C42:
Address=77E86C42 KERNEL32
Section=.text
Type=Export (Known)
Name=GetModuleHandleA
Dakle prvi los import je GetModuleHandleA i nalazi se u KERNEL32.DLL
Dupli klik na taj import u ImpRecu i izaberemo kernel32.dll iz liste dll-ova
a GetModuleHandle iz liste API-ja.
Ponavljajte gornji postupak za sve lose importe i kada popravite sve importe
sacuvajte novi IAT u dumpovani fajl (valjda ste dampovali na OEP-u?) :))
To je to :)
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Zavrsne reci ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Eto, ko se pitao kako da popravi IAT za ovaj protektor dobio je odgovor :)
Toliko od mene za ovaj tutorijal. Nadam se da ste naucili nesto.
KEEP UP THE GOOD WORK AND CRACK ON !
Over and out!
? ?Uvod ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Eto, posto Ap0x nije bio ljubazan da nam pokaze kako se popravlja IAT za
Obsidium v1.2 pakovan crackme, moracu ja :)
SALIM SE Ap0x-e !!!
Anyway, Ap0x nam je lepo objasnio kako se dolazi do OEP-a kod ovog
protektora, ali nam fali jos samo objasnjenje kako popraviti IAT, jer
ImpRec nikako ne uspeva sam da popravi IAT, cak ni sa ObsidiumIAT pluginom.
Oke, dosta chit-chata! Let's fix some IAT :)
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Alati ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
?OllyDbg v1.10 + OllyDump
?ImpRec v1.6 FiNAL
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Reversing ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Dakle, pratimo Ap0x-ov tutorial dok ne dodjemo do OEP-a, tj do ovog koda:
004012CF . 64:A1 0000000>MOV EAX, DWORD PTR FS:[0] ; Real entry point of SFX code
004012D5 . 50 PUSH EAX
004012D6 . 64:8925 00000>MOV DWORD PTR FS:[0], ESP
004012DD . 83EC 58 SUB ESP, 58
004012E0 . 53 PUSH EBX
004012E1 . 56 PUSH ESI
004012E2 . 57 PUSH EDI
004012E3 . 8965 E8 MOV DWORD PTR SS:[EBP-18], ESP
004012E6 . FF15 58404000 CALL NEAR DWORD PTR DS:[404058]
Mada ovo nije pravi OEP, program ce raditi lepo.
Otvaramo ImpRec i izaberemo nas proces. Unesemo gornji OEP pa
IAT AutoSearch. Onda idemo na Get Imports.
Blah, nijedan dobar import!
Sada cemo da pristupimo identifikaciji API-ja.
Gledamo u prvi invalid import u ImpRec-u:
rva: 00004000 ptr: 007A3FD0
Idemo u Olly-ju na adresu 007A3FD0:
007A3FD0 60 PUSHAD
007A3FD1 66:B8 0000 MOV AX, 0
007A3FD5 B1 00 MOV CL, 0
007A3FD7 ^ E9 C9E7FFFF JMP 007A27A5
Postavimo New origin na 007A3FD0.
Sada koristimo Trace komandu. U CommandBaru kucamo:
TC EIP > 70000000
Zasto kucamo taj Trace Condition?
Jer se API-ji nalaze na adresama vecim od 7XXXXXXX
Olly se zaustavio na ovom kodu:
77E86C42 > 55 PUSH EBP
77E86C43 8BEC MOV EBP, ESP
77E86C45 837D 08 00 CMP DWORD PTR SS:[EBP+8], 0
77E86C49 0F85 BD300000 JNZ KERNEL32.77E89D0C
77E86C4F 64:A1 18000000 MOV EAX, DWORD PTR FS:[18]
77E86C55 8B40 30 MOV EAX, DWORD PTR DS:[EAX+30]
77E86C58 8B40 08 MOV EAX, DWORD PTR DS:[EAX+8]
77E86C5B 5D POP EBP
77E86C5C C2 0400 RETN 4
Da bi saznali koji je ovo API, kliknemo desnim tasterom misa na
code window u Olly-ju i idemo na:
Search for -> Name in all modules
Sortiramo API-je po adresi i trazimo koji API pocinje na adresi 77E86C42:
Address=77E86C42 KERNEL32
Section=.text
Type=Export (Known)
Name=GetModuleHandleA
Dakle prvi los import je GetModuleHandleA i nalazi se u KERNEL32.DLL
Dupli klik na taj import u ImpRecu i izaberemo kernel32.dll iz liste dll-ova
a GetModuleHandle iz liste API-ja.
Ponavljajte gornji postupak za sve lose importe i kada popravite sve importe
sacuvajte novi IAT u dumpovani fajl (valjda ste dampovali na OEP-u?) :))
To je to :)
谀哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪目
? ?Zavrsne reci ? ?
滥哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪馁
Eto, ko se pitao kako da popravi IAT za ovaj protektor dobio je odgovor :)
Toliko od mene za ovaj tutorijal. Nadam se da ste naucili nesto.
KEEP UP THE GOOD WORK AND CRACK ON !
Over and out!
赞赏
他的文章
- [转帖]用多媒体学Visual C++ 2008 系统学习VC 2008必备教程 7940
- [下载]新壳 OSP软件平台功能说明 5754
- [讨论]微点不识英文?! 6187
- [推荐]内存清零KILL进程 16140
看原图
赞赏
雪币:
留言: