-
-
[求助]某程序脱壳受阻。已找到OEP,但是指针修复不了,请大虾们指教
-
发表于:
2011-4-8 12:28
6992
-
[求助]某程序脱壳受阻。已找到OEP,但是指针修复不了,请大虾们指教
软件下载地址:
http://u.115.com/file/t2b4fb14c
用PEID查壳显示:
//OD载入,停到
005B3E66 > E8 21000000 call 005B3E8C
005B3E6B 53 push ebx
005B3E6C 61 popad
005B3E6D 66:65:6E outs dx, byte ptr es:[edi]
005B3E70 67:696E 65 204C>imul ebp, dword ptr [bp+65], 63694C20
F7进CALL, --> F8单步到.
005B41C4 64:8B05 3000000>mov eax, dword ptr fs:[30]
005B41CB 8B40 0C mov eax, dword ptr [eax+C]
使用ESP定律,到了
005B3E07 ^\E9 30D1FFFF jmp 005B0F3C
005B3E0C 55 push ebp
继续F8走到
005B0F3C 68 570C1B00 push 1B0C57
005B0F41 E8 48DCFFFF call 005AEB8E
进Call,查找命令序列:
popfd
popad
下段,然后F8到程序领空
0046BF96 8BEC mov ebp, esp
0046BF98 6A FF push -1
0046BF9A 68 980A4A00 push 004A0A98
0046BF9F 68 54E84600 push 0046E854
0046BFA4 64:A1 00000000 mov eax, dword ptr fs:[0]
0046BFAA 50 push eax
0046BFAB 64:8925 0000000>mov dword ptr fs:[0], esp
0046BFB2 83EC 58 sub esp, 58
0046BFB5 53 push ebx
0046BFB6 56 push esi
这里可以看出程序是用VC++写的,但是前面少了一个PUSH EBP.
上面就是我分析的结果,而0046BF96上面一句应该就是OEP了,但是我使用修复工具的时候找不到一个指针。也不知道程序是不是有MAGIC JUMP,我是才学习手动脱壳的,所以请大侠们手下留情,还请多多指教。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课