• 标 题:脱ASProtect1.2的壳 (3千字)
  • 作 者:zombieys
  • 时 间:2001-9-12 20:18:17
  • 链 接:http://bbs.pediy.com

脱ASProtect1.2的壳


    这次的目标是ASProtect1.2本身。

unpack(2001.9.11)

    还是利用快速寻找aspr入口的方法:
执行ASProtect.exe,用prodump选dump(full)脱壳,存为dump.exe。接着用winhex打开dump.exe,选择搜索文本,填runtime,执行搜索,搜到后,向前找到离runtime最近的机器码为55 8B EC的地方就是程序的oep,而在ASProtect里这个位置在offset:000585D8处,用peditor的flc功能将它转换为virtual address就是458FD8----oep。

    ok,下面要在入口处脱壳,因为直接dump的不管怎么折腾就是不让运行,所以老规矩打开SuperBPM,点erase,用trw载入ASProtect,下g 458FD8,下suspend。用prodump选ASProtect进程dump(full),再打ctrl+n,f5。

    接着修复import table

为什么要用ASProtect1.2举例呢?因为ASProtect1.2是最好脱的aspr保护的东东呀。ImportREC完全可以自动找出完整的it,无需手动修改,原因么我想就是ImportREC的作者当初就是用的ASProtect本身为基础做ImportREC的(猜测而已),怪不得除了这个其他的都要手动修复。只要在oep处填00058FD8,剩下的就交给ImportREC搞掂。最后选add new section,然后点fix dump。

    运行程序,报112c6d8地址错误,我倒~~~~~~~~。load吧,三件套icedump+superbpm+s-ice或trw,看看在哪出的错,最后一步一步找到
45495f ff15ac4f4600->90    call [464fac]->nop
而464fac指向的地址就是112c6d8,下dd或u 112c6d8(方式不一样,其实效果一样),在112c6d8处及周围全都是??,也就是说这块内存不归aspr管(不知道着么说是否合适),再用原版从来一次看看112c6d8是什么,一个ret,昏倒中~~~。直接nop掉好啦。再运行还报112c6d8地址错误。这次是
454b3a ff15b04f4600->90 call [464fb0]->nop
统统nop啦,不过理论上能补成其他的尽量不用nop,为了快出结果,懒的想更多啦
哦,这次正常运行了,点about,报112c6d8地址错误,!·#¥%……—*()—+...........,一不做,二不休,掏出winhex替换所有ff15ac4f4600和ff15b04f4600为nop,其实这个一共有3处,第3处报错是在压缩的时候。

    至此脱壳完成可以正常运行了,本想汉化一下的,做了不到一半就放弃了,麻烦死我了,宏伟兄在吗?交给你啦~~~~~~~~~~~~~~~``

    补充点aspr注册的内容,aspr的验证是在外壳部分进行的,我想脱掉后就应该是注册版了吧?把unregistered version(这个可是手打的哦,看得太多了,打起来比打我的id还熟呢;-))改成你的id就可以了。我对aspr研究不多,不确定它的可靠性,请知道的讲讲,多谢。

另外我发现这个快速搜索aspr保护程序oep的方法对azpr3.52无效,看来这个方法还有一定的局限性,不过azpr3.52可以用caspr脱掉能省则省么;-)。azpr的ep是401000

(2001.9.12)
暴破:4172FF E9F8000000->E9F3000000 JMP 4173FC->JMP 4173F7

完活

感谢看完!

2001.9.12
zombieys[CCG]

———————————————————————————————>
                .-"      "-.      Cracked by zombieys[CCG]  >
                /      \      qq:1789655                >
              |              |    http://zombieys.yeah.net  >
              |,  .-.  .-.  ,|    http://zombieys.126.com  >
                |)(__/  \__)(|                                >
                |/    /\    \|      Thanks for your supports  >
      (@_@)    (_    ^^    _)                                >
    _  )\_______\__|IIIIII|__/_____                          >
_)@8@8{}<________|-\IIIIII/-|____China Crack Group_zombieys___>