Delphi 反编译工具与方法
1. 静态分析工具
-
DeDe (Delphi Decompiler)
-
功能:经典的 Delphi 反编译工具,支持提取窗体资源、类结构、事件处理函数地址等。
-
局限:仅适用于旧版 Delphi(如 Delphi 7 及以下),对新版本(如 Delphi 10.4+)支持较差。
-
步骤:
-
使用 DeDe 打开 EXE 文件。
-
提取窗体(Forms)和事件处理函数(Events)。
-
导出伪代码(类似 Pascal 的语法)。
-
-
-
IDR (Interactive Delphi Reconstructor)
-
功能:比 DeDe 更强大,支持解析新版 Delphi(部分支持 10.x),可重建 DFM 窗体文件和部分代码逻辑。
-
特点:
-
支持分析 VCL(Visual Component Library)结构。
-
导出类定义、方法名和事件处理代码。
-
-
下载:GitHub IDR
-
-
PE Explorer + Hex-Rays 插件
-
功能:通用 PE 文件分析工具,结合 Hex-Rays 反编译器可将汇编代码转为伪 C 代码。
-
适用场景:分析关键函数逻辑,但需手动还原 Delphi 特性(如 VCL 调用)。
-
2. 动态调试工具
-
x64dbg/x32dbg
-
用途:动态调试 Delphi 程序,跟踪函数调用、内存修改等。
-
技巧:
-
在事件处理函数(如按钮点击)处下断点。
-
结合符号文件(若有)提升可读性。
-
-
-
OllyDbg
-
适用场景:针对旧版 Delphi 程序的逆向分析。
-
插件支持:使用 Delphi 插件(如 Delphi DFM Parser)解析窗体结构。
-
3. 代码恢复与反编译
-
反编译后的代码特点:
-
无法完全还原原始 Pascal 代码(因编译优化丢失元数据)。
-
主要依赖汇编代码和 VCL 框架逻辑逆向推断。
-
-
关键步骤:
-
定位主窗体和事件处理函数(如
TForm1.Button1Click
)。 -
分析 VCL 控件属性(如
Caption
、Text
)和消息循环。 -
通过字符串交叉引用(Xref)追踪关键逻辑。
-