• 标 题:脱ASPack 2.11的壳 (2千字)
  • 作 者:zombieys
  • 时 间:2001-9-14 12:06:32
  • 链 接:http://bbs.pediy.com

脱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___>