返回资讯中心
外部精选
软件工程
#开发者实时流

Delphi 3–13 反编译器发布,也支持 C++ Builder VCL 应用

来源标题:Delphi 3 – Delphi 13 Decompiler (also works for C++ Builder VCL Applications)

一款面向 Delphi 3 至 13 及 C++Builder 构建的 VCL 应用的反编译器发布,可处理 Win32 和 Win64 程序,将原生指令还原为类 Pascal 代码。该工具面向取证调查、杀毒分析和企业安全团队,能恢复控制流、调用、窗体、单元与类,并借助编译器特有的 RTTI 信息梳理应用结构。

Hacker News 最新peter_d_sherman2026/11/5 · 今天16 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

VCL 应用的分析与逆向工程 面向取证调查人员、杀毒软件分析师、企业安全团队,以及调查原生软件、恶意软件和潜在不受欢迎或隐藏功能的开发者的专业反编译器。 将用 Delphi 3–13 编写或用 C++Builder 构建的 VCL 应用(面向 Win32 和 Win64)反编译为类 Delphi 的 Pascal 代码。从原生指令和可用元数据中恢复控制流、调用、窗体、单元和类,然后从 VCL 事件追踪到其处理程序的实现。 从应用结构深入到实现。利用恢复出的声明和编译器特定的 RTTI 知识,在检查单个过程之前先确定调查方向。 浏览识别出的单元及其重建的声明。定位与待审查部分相关的类、字段和方法,然后在不丢失周边结构的情况下打开其代码。 在项目树中浏览识别出的类、方法和公共函数。将恢复出的签名与函数体对照阅读,以理解对象和过程之间的交互。 启发式分析还会在每个单元中查找私有函数,有助于揭示识别出的公共入口点之外的实现代码。利用引用和原生指令来调查不确定的边界或单元归属。 针对 Delphi 运行时类型信息的版本特定知识,支持跨 Delphi 3–13 的识别。文件中保留的名称和类型会丰富列表内容;生成的标识符和推断出的布局则填补源级信息缺失处的空白。 在只读设计器中检查应用的 VCL 界面。将可见控件、恢复出的属性和事件与其背后的代码关联起来。 无需运行被分析的应用即可查看重建的窗体及其控件。利用视觉布局识别相关界面元素,并理解某个功能或可疑操作的上下文。 结合恢复出的组件属性和可用的 DFM 信息一同检查。将控件的配置与其在界面中的作用关联起来,并在需要进一步检查自定义组件或推断类型时,审视底层的窗体数据。 从窗体可视化中恢复出的事件条目导航到对应的处理程序。无需手动搜索整个过程列表即可追踪按钮、菜单命令或其他事件的实现。 将恢复出的单元和窗体保存为 Delphi 项目,或导出合并的 .pas 列表以供审阅。单元使用 .pas,窗体定义使用 .dfm;导出的代码在 IDE 中使用前需要手动分析和修正。 阅读从机器码和元数据重建出的类 Delphi 语句。反编译器会恢复 if 条件、case 块、循环和调用,包括识别出的 VCL 方法;反汇编和文件字节仍可供详细检查。 在 Decompiler 视图中追踪重建出的条件、case 分支和循环。识别出的 VCL 调用保留其有意义的方方法名;在无法识别的情况下,列表只表示该调用,而不会凭空捏造 VCL 名称。 将高级列表与原生 Win32 或 Win64 指令及 HEX 编辑器进行对照。混合列表将重建的语句与其对应指令并排显示,有助于解决关于参数、字段访问和分支的疑问。 查找过程和列表文本,检查字符串引用并按地址导航。保存分析数据库以便日后继续调查,或导出过程名称和地址以供其他分析工作流使用。 配合 Ollama 或已配置的 API 服务使用 AI Helper,对现有列表进行细化以供审阅。共享插件 SDK 支持自定义扩展;你可以为自己的分析任务开发扩展。请对照原生反编译结果和指令审阅 AI 建议。 DE Decompiler 支持用 C++Builder 构建的面向 Win32 和 Win64 的 VCL 应用。可在同一工作区中恢复并可视化窗体、检查单元、类和函数、追踪事件处理程序,并使用其他分析和导出工具。 C++Builder 专用的库 RTTI 知识库尚不可用。共享 VCL 覆盖范围之外的函数,以及无法识别的对象属性或方法,可能在不显示其库名称的情况下呈现。因此,C++Builder 的代码反编译质量明显低于用 Delphi 编写的应用。这一限制涉及代码重建质量和库名称识别。其他受支持的功能对 C++Builder 仍按与 Delphi 应用相同的版本规则提供。 C++Builder 代码会被重建为类 Delphi 的 Pascal,输出为 PAS/DFM。它不会被转换回原始 C++ 源代码。与其他原生代码重建一样,在 IDE 中使用恢复出的材料之前,请手动审阅并修正推断出的类型、生成的名称和反编译不准确之处。 恢复出的细节取决于文件中保留的指令和元数据。机器码不会保留原始源文本:变量名通常是生成的,数据结构可能根据访问大小和地址推断,某些调用无法赋予其原始 VCL 方法名。 DE Decompiler 重建程序逻辑以用于分析。其类 Delphi 输出不会重现可编译的源代码项目。源码恢复是一项附加用途:它需要手动分析、修正推断类型和反编译不准确之处,并在 IDE 中打开代码或尝试构建之前恢复缺失的依赖项。 了解重建过程 → · 所有产品功能 → 按照快速入门和工作流程进行代码分析、VCL 窗体、导出、处理选项和 AI Helper。 在准备分发你自己的 Win32 或 Win64 VCL 应用时,可使用集成的混淆器。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →