插件

插件通过原生 DLL 扩展 VB Decompiler。已安装的插件可从插件 (Plugins)菜单中访问。回调 API 提供对恢复的项目信息和代码的访问权限,允许插件检查或修改受支持的内部结构。

FRX Image Viewer

FRX Image Viewer 1.2.0 可预览并提取 VB Decompiler 或 DE 反编译器 (Decompiler) 注册的图像。VB5/6 和 .NET 窗体图像使用 VB Decompiler,Delphi 二进制 DFM 图像使用 DE 反编译器。支持 BMP、PNG、JPEG、GIF、ICO 和 CUR。

安装与打开

  1. 将 FRXViewer.dll 复制到宿主安装目录的 plugins 子目录,然后重新启动反编译器。DLL 的体系结构必须与宿主应用程序匹配,与被分析文件的体系结构无关。
  2. 打开 EXE 或 DLL 并解析其窗体,使宿主能够注册可用图像。
  3. 选择 插件 > FRX Image Viewer,然后单击缩略图查看图像。

1.2.0 下载包包含适用于 x86 宿主的 DLL。x64 宿主需要匹配的构建版本。插件要求 Windows 10/11;构建说明见源代码仓库。

预览与导出

缩略图库和预览区域显示可用图像,包括包含多个图像的 ICO/CUR 文件。状态栏显示所选项目、尺寸、数据大小或源位图偏移以及格式。查看器沿用宿主的主题并支持深色模式。

选择 Save to file 导出所选项目。独立图像保留原始字节和格式。ImageList 中的单个单元以带有掩码和 Alpha 透明度的 ICO 文件导出;这些 ICO 文件由源位图生成。

DE Decompiler 中的 FRX Image Viewer,显示 Delphi DFM 图像和单个 ImageList 图标。
DE 反编译器 中的 FRX Image Viewer,显示 Delphi DFM 图像和单个 ImageList 图标。

原生 Delphi ImageList 与兼容性

在兼容宿主中,可识别的原生 Delphi ImageList 显示为单个图标。集合项目中独立编码的图像仍作为普通独立图像。对于不支持的数据流,只要存在原始图像条目,就保留整幅图像的处理方式。

VB Decompiler 26.6 和 DE 反编译器 26.5 支持共享 SDK 修订版 26.6,新增可选命令 GetFrxImageListInfo (63) 和 GetProductName (64)。较旧宿主保留原始图像 API 和整幅图像的处理方式。功能检测和偏移规则见SDK 参考。

预览和提取不会执行被分析文件,也不会加载其组件。动画 GIF 仅显示第一帧。可用资源取决于宿主成功解析并注册的图像。

开发插件

SDK 包含针对 Visual C++、Rust、Delphi 和 Free Pascal 的示例。请参阅VB Decompiler 插件 API 参考以获取导出的入口点、回调签名、命令标识符、数据表示形式以及示例项目的链接。

DLL 插件提供其名称和作者信息,并通过VBDecompilerPluginLoad接收主机回调。该回调用于请求或更新受支持的项目数据。在实现此接口时,请遵循 SDK 的调用约定、指针、字符串编码和缓冲区要求;不要在缺少兼容的原生互操作接口时,直接用托管语言声明替代此接口。

VB Decompiler 在启动时初始化可用的 DLL 插件。为预期的主机架构和 Windows 环境构建插件,并使用该环境验证生成的 DLL。SDK 同时提供对活动视图代码和项目级代码的访问;需要所有反编译过程的操作需要完整反编译,而不仅仅是按需列表。