脱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___>
- 标 题:脱ASPack 2.11的壳 (2千字)
- 作 者:zombieys
- 时 间:2001-9-14 12:06:32
- 链 接:http://bbs.pediy.com