• 标 题:ASPRTECT1.2X加壳的Delphi Application Peeper Pro 2.3.1.9 脱壳(简单) (3千字)
  • 作 者:fwnl
  • 时 间:2002-4-6 15:31:37
  • 链 接:http://bbs.pediy.com

ASPRTECT1.2X加壳的Delphi Application Peeper Pro 2.3.1.9 脱壳(简单)
crack by fwnl
原版下载:
http://www.devrace.de/files/dap_pro.zip
程序简介:
Delphi Application Peeper 可以帮助你调试Delphi 或 CBuilder 写的程序,它可以在运行时得到组件的对象数据.听Sam.com大哥说这个东西对破解有用.
破解工具:
trw2000, superbpm,Import REConstructor v1.4.2+ ,UltraEdit32, prodump

  程序是用Aspr1.22(FI 249查的,很有可能版本更高)加壳,所以caspr不能脱此壳,于是就只有手动来脱了。
一.找入口点

    由于是delphi程序,所以利用快速寻找aspr入口的方法:

    执行DAP_Pro.exe,用prodump选dump(full)脱壳,存为dump.exe。接着用UltraEdit32打开dump.exe,ALT+F3,填runtime,选中查找ASCⅡ,执行搜索,搜到后,向上查找离runtime最近的机器码为55 8B EC的地方就是程序的oep,而在DAP_Pro.exe里这个位置在offset:00088730处,用peditor的flc功能将它转换为virtual address就是00489130----oep。

二.用trw2000初步脱壳

  下面要在入口处脱壳,打开SuperBPM,点erase,用trw载入DAP_Pro.exe,下g 489130,接着下pedump脱出程序.

三.修复import table

  打开原加壳程序,在Import REConstructor v1.4.2+ 的 Attach to an Active Process 窗口中选取DAP_Pro.exe的进程,然后在下方的oep处填入00089130,点IAI AutoSearch,再点Get Imports 然后点Show Invalid,在Imported Functions Found窗口里的无效地址上点鼠标右键,选Trace Leve11(disasm),再点show invaids,发现还有几个没有修复,再次在那几个没有修复的地址上点鼠标右键.
  选中Plugin Tracer(Asprotect 1.2X Emul),再点show invaids应发现所有的dll显示 valid:Yes了。然后点Fix Dump,选中你用trw2000 pedump出的文件修复.
  这样修复后的程序在启动时还会出现一个出错对话框.于是我们要看程序在那里出错,然后再用原版的对比看.


四.修复脱壳后的程序
用trw2000载入脱出的程序,下bpx messageboxexa ,然后F5返回程序将被断下,下PMODULE返回程序可见如下:
0167:0044E580 84C0            TEST    AL,AL
0167:0044E582 7406            JZ      0044E58A          //改成7423跳过出错对话框
0167:0044E584 81CB00001000    OR      EBX,00100000
0167:0044E58A 33C9            XOR      ECX,ECX
0167:0044E58C 55              PUSH    EBP
0167:0044E58D 6809E64400      PUSH    DWORD 0044E609
0167:0044E592 64FF31          PUSH    DWORD [FS:ECX]
0167:0044E595 648921          MOV      [FS:ECX],ESP
0167:0044E598 53              PUSH    EBX
0167:0044E599 57              PUSH    EDI
0167:0044E59A 56              PUSH    ESI
0167:0044E59B 8B45FC          MOV      EAX,[EBP-04]
0167:0044E59E 8B4024          MOV      EAX,[EAX+24]
0167:0044E5A1 50              PUSH    EAX
0167:0044E5A2 E86589FBFF      CALL    `USER32!MessageBoxA` //出错对话框
0167:0044E5A7 8945F8          MOV      [EBP-08],EAX


最后我这样改不知是否正确,我随便试了一下,好像没发现什么不对,因我不会用这个软件,所以就不知是不是真的改好了,请大家测试一下,脱了壳的程序下载:http://wind.prohosting.com/fwnl/fwnl/fwnl.rar
用最新的WINRAR解压缩,

后记:我写文章的目的是想帮助初学脱ASPR朋友,因为我刚学脱ASPR时真的太幸苦了,其实ASPR的真正的难点在RSA1024上,而不是如何脱壳。希望有大客能想出好办法.
最后我要忠心的谢谢zombieys大哥,没有他的帮助我是不可能学会脱ASPR的.
祝各位朋友开心快乐.
                                                                            fwnl
                                                                  Beginner's Cracking Group                                                                    The Free Cracking Group Of China
                                                                          2002.4.6
                                                                            长沙