高级功能

这些设置控制项目的处理方式以及恢复信息的展示方式。

高级反编译设置

只反编译窗体 (Decompile only forms)

当仅需恢复窗体和 UserControl 定义时,禁用代码反编译。有关可视查看器及其特定技术功能,请参阅 可视化窗体重建。

快速反编译 (Fast decompilation)

启用后,VB Decompiler 首先处理项目结构,并在您打开各个过程时对其进行反编译。这减少了调查选定过程时的初始等待时间。禁用 缓存反编译代码 (Cache decompiled code) 后,您可以更改分析设置并重新打开过程以获取新的代码清单。

启用 分析原型 (Analyze prototypes)(位于反编译设置),对私有过程的签名进行初步启发式分析。这会增加初始处理时间,但无需完整反编译即可改善参数重建。

快速反编译不提供项目的完整可搜索高级代码清单。禁用它并在使用整个项目的 文本搜索 或导出完整反编译项目之前再次处理文件。字符串引用 则不同:它们可以通过初步反汇编收集,并且在快速反编译模式下可用。

完全反编译

禁用快速反编译后,反编译器预先处理项目中的过程。这需要更长时间,但使完整生成的代码清单可用于文本搜索和导出。对反编译设置的更改需要再次处理文件。

缓存反编译代码

在快速反编译模式下保留已生成的代码清单。这避免了重复反编译打开的过程,但缓存结果不反映后续分析设置的变化。当交互式比较 解析堆栈参数 (Parse stack parameters) 或 程序分析器和优化器 (Procedure analyzer and optimizer) 设置时,请禁用缓存。

声明变量 (Declare variables)

在每个反编译过程开始时为恢复的变量添加声明块。这对于源代码恢复和类型检查很有用。如果只需快速了解过程逻辑,可以隐藏变量声明。恢复的类型受反编译器可用的元数据和分析限制。

过程中的恢复变量声明

显示 .NET 结构 (Show .NET structures)

在 方案浏览器 (Solution explorer) 中显示 .NET 元数据表和堆。使用它来检查与代码并列的结构和签名。选择表可显示其内容;#US 堆包含用户字符串。当您不需要元数据导航时禁用该选项。

Solution explorer 中的 .NET 元数据表

.NET 用户字符串及其地址

Visual Studio 窗口布局 (Window style as in Visual Studio)

将代码放在左侧,将 方案浏览器 放在右侧。这会更改工作区布局,不改变恢复的代码。