工具
Boomerang 机器码反编译器
SourceForge 上 Boomerang 项目的分支,是一款通用的机器码反编译器,可将可执行文件转换为 C 代码。README 列出的支持范围为 ELF、PE、DOS MZ、DOS/4GW LE 和 Mach-O 文件中的 x86(仅 IA-32)、PowerPC 和 ST20 代码;指令语义由 SSL 规格文件定义,库函数签名文件以及 printf、scanf 类格式字符串可辅助恢复类型。它提供 boomerang-cli 命令行工具和基于 Qt 的 boomerang-gui 图形界面,并附有单元、回归和重编译测试套件。
- 目标
- 二进制
- 类别
- 原生分析工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 已停止活跃维护的旧项目:所审阅的 develop 分支提交(2020-12-28)是仓库最后一次推送,Changelog 仍将 v0.6.0 标为开发中。最后一个版本 v0.5.2(2020-01-11)提供 Linux x86_64 和 Windows x64 构建,而 README 建议从源码构建 develop 分支。
- 构建需要 64 位操作系统、C++17 编译器(GCC 7+、Clang 6+ 或 MSVC 2017+)、CMake 3.13+、Qt5(已知 5.12+ 可用)、Capstone 4.0.1+、GNU bison 3.3+ 和 flex 2.6+;回归测试需 Python 3 运行,且不支持在 Windows 上运行。README 介绍了在 Linux、使用 Xcode 10 和 Homebrew 的 macOS 10.13+,以及使用 Visual Studio 2017 的 Windows 上的构建方法。
- 需自行提供要反编译的可执行文件。x86 支持仅限 32 位代码,v0.6.0 开发线已移除 SPARC 支持,生成的 C 代码仍需分析人员复核。
- data/samples 提交了约 240 个面向 macOS、DOS、ELF、PowerPC、Windows 和 x86 的小型测试二进制,多数以 tests/recompilation-tests 和 tests/sources 中的测试程序命名,另有三个 Linux 发行版构建的 true 工具;tests/regression-tests 保存了它们的预期反编译输出。data/signatures 存放手写的库函数原型文件,并非厂商头文件。
- LICENSE.TERMS 中沿用昆士兰大学、Sun Microsystems 及原作者的 BSD 风格条款;GitHub 未识别出对应的 SPDX 许可证。本条目未反编译任何二进制。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- Readme.md GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- Changelog.md GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- LICENSE.TERMS GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- data/samples GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- data/signatures GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- data/ssl GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- tests GitHub · BoomerangDecompiler/boomerang · 修订 4110413
- https://github.com/BoomerangDecompiler/boomerang/releases/tag/v0.5.2