- UID
- 32420
注册时间2007-6-1
阅读权限8
最后登录1970-1-1
初入江湖

该用户从未签到
|
发表于 2007-12-26 16:35:31
|
显示全部楼层
借鉴前面高人的脱壳过程,来个详细的,希望对新手有点帮助
1.用OD载入1.exe,忽略所以异常,弹出一个Themida对话框,不理它,点ok,接着又弹出1.exe—Application Error错误对话框,继续点ok。
2.这时OD提示出现异常,不理它,按F9,又出现一个压缩代码提示对话框,点NO后,OD停在壳入口
00514000 90 nop
00514001 > 60 pushad //<--停在这里
00514002 E8 03000000 call 0051400A
00514007 - E9 EB045D45 jmp 45AE44F7
0051400C 55 push ebp
0051400D C3 retn
0051400E E8 01000000 call 00514014
3.按ALT+M,在代码段下访问断点(按F2)
地址 大小 属主 区段 包含 类型 访问 初始访问 已映射为
00401000 0008B000 1 SVKP 代码 Imag R RWE <--在这行按F2
接着按F9,停在这里(0051475F)
00514757 53 push ebx
00514758 BE F8FFFFFF mov esi, -8
0051475D 8B02 mov eax, dword ptr [edx]
0051475F 8A18 mov bl, byte ptr [eax] //<--停在这里
00514761 40 inc eax
00514762 885C24 0C mov byte ptr [esp+C], bl
00514766 8902 mov dword ptr [edx], eax
4.同样,我们再按ALT+M,在数据段下访问断点(按F2)
地址 大小 属主 区段 包含 类型 访问 初始访问 已映射为
0048C000 00002000 1 SVKP 数据 Imag R RWE <--在这行按F2
继续按F9,再次停在这里(0051475F)
00514757 53 push ebx
00514758 BE F8FFFFFF mov esi, -8
0051475D 8B02 mov eax, dword ptr [edx]
0051475F 8A18 mov bl, byte ptr [eax] //<--停在这里
00514761 40 inc eax
00514762 885C24 0C mov byte ptr [esp+C], bl
00514766 8902 mov dword ptr [edx], eax
5.重复第3个步骤,再次在代码段下访问断点,这时OD直达OEP
0048AFBE B8 78AC4800 mov eax, 0048AC78//<--停在OEP
0048AFC3 E8 D0B3F7FF call 00406398
0048AFC8 A1 08DA4800 mov eax, dword ptr [48DA08]
0048AFCD 8B00 mov eax, dword ptr [eax]
0048AFCF E8 F8A4FDFF call 004654CC
0048AFD4 A1 08DA4800 mov eax, dword ptr [48DA08]
按Ctrl+G,输入48AFB8,下面键入被抽掉的代码
0048AFB8 > $ 54 push esp
0048AFB9 . 8BE5 mov esp, ebp
0048AFBB . 83C4 F0 add esp, -10
在48AFB8这一行右键,选“此处为新EIP”
6.用OD自带的插件OLLYDUMP,dump下来,大功告成! |
|