脱ASPack 2.11的壳 (2千字)
脱ASPack 2.11的壳unpack(2001.9.13)
还是利用高速寻找aspr入口的方法(适用于delphi写的程序):
执行ASPack.exe,用prodump选dump(full)脱壳,存为dump.exe。接着用winhex打开dump.exe,选择搜索文本,填runtime,执行搜索,搜到后,向前找到离runtime最近的机器码为55 8B EC的地方就是程序的oep,而在ASPack里这个位置在offset:00041FEC处,用peditor的flc功能将它转换为virtual address就是004429EC----oep。
ok,下面要在入口处脱壳,因为直接dump的不管怎么折腾就是不让运行,所以老规矩打开SuperBPM,点erase,用trw载入ASPack,下g 458FD8,下suspend。用prodump选ASPack进程dump(full),再打ctrl+n,f5。
接着修复import table
1 000482D4 KERNEL32.dll 00C7 CreateProcessA
最后选add new section,然后点fix dump。用peditor修改ep为000429EC。
运行程序,报110c54c地址错误,不报错的还没有见过呢。load吧,icedump+superbpm+s-ice或superbpm+trw组合,看看在哪出的错,最后一步一步找到
:00442A65 FF157C614400 call dword ptr [0044617C]
用原版载入发现实际上是call 4428f0,修改一下即可。
再次运行报110c4a8地址错误,再用原版跟
43f2c8 ff1574614400->90 call [446174] ->nop
43f356 ff1518614400->90 call [446174] ->nop
两个call的内容其实是一个ret,无关紧要,nop掉。
再用winhex替换所有ff1574614400和ff1518614400,总共4处。
至此程序可正常运行,脱壳结束。
脱壳后仍有注册限制,看来前面脱的aspr1.2也一样是未注册版了。
感谢看完!
2001.9.13
zombieys[CCG]
———————————————————————————————>
.-" "-. unpacked by zombieys[CCG] >
/ \ qq:1789655 >
| ★ | http://zombieys.yeah.net >
|, .-. .-. ,| http://zombieys.126.com >
|)(__/ \__)(| zombieys.cn.hongnet.com >
|/ /\ \| >
(@_@) (_ ^^ _) Thanks for your supports >
_ )\_______\__|IIIIII|__/_____ >
_)@8@8{}<________|-\IIIIII/-|____China Crack Group_zombieys___>
