PEID检测为MPRESS V2.00-V2.0X -> MATCODE Software * Sign.By.fly * 20090423 *
用OD加载程序,停在入口:
0146836D > 60 pushad
0146836E E8 00000000 call aa.01468373
01468373 58 pop eax ; KERNEL32.7C817067
01468374 05 5A0B0000 add eax,0xB5A
01468379 8B30 mov esi,dword ptr ds:[eax]
0146837B 03F0 add esi,eax
0146837D 2BC0 sub eax,eax
0146837F 8BFE mov edi,esi
01468381 66:AD lods word ptr ds:[esi]
用ESP定律尝试脱壳,很快到达OEP处:
00636CA8 E8 8FEC0000 call aa.0064593C
00636CAD ^ E9 78FEFFFF jmp aa.00636B2A
00636CB2 6A 10 push 0x10
00636CB4 68 C0EB6E00 push aa.006EEBC0
00636CB9 E8 CA330000 call aa.0063A088
00636CBE 8B5D 08 mov ebx,dword ptr ss:[ebp+0x8] ; aa.<ModuleEntryPoint>
00636CC1 85DB test ebx,ebx
00636CC3 75 0E jnz short aa.00636CD3
00636CC5 FF75 0C push dword ptr ss:[ebp+0xC]
00636CC8 E8 0AD2FFFF call aa.00633ED7
DUMP并修复IAT,程序不能正常运行,有错误提示:
于是在网上搜索这个壳的脱壳教程,按照其中介绍的几种方法一一尝试,单步法也试了,但是还是出现同样的错误提示,脱壳不成功。
接下来下载了MPRESS2.12的加壳工具,由于MPRESS 2.12本身就是加的这个壳,就拿这个来做实验,用ESP定律可以直接脱壳,软件运行正常。
然后自己又用这个工具加了两个EXE,一个为记事本,脱壳后可以正常运行;而另一个EXE则脱壳后运行出现和上面一样的错误提示。
这种情况不知道大家有没有碰到过?
软件加壳前可以正常运行,加壳后可以正常运行,但是脱壳后运行不正常。
欢迎大家参与讨论并指点,谢谢!
软件地址:http://l21.yunpan.cn/lk/QkBRZ8HTIjEdS
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)