工具

Reko 通用反编译器

通用反编译器:加载可执行文件或原始镜像,把机器码扫描转换为与机器无关的寄存器传输语言,再归并为过程并反编译为高级 C 代码。所审阅的源码包含 64 个架构目录,从 6502、Z80、PDP-11 到 ARM、MIPS、PowerPC、RISC-V 和 x86,并提供 ELF、PE/MZ、Mach-O、COFF、Amiga Hunk、VMS、WebAssembly、Xbox XBE 及 Xbox 360 XEX 等格式的加载器。可作为 Windows Forms 图形界面、命令行客户端或 .NET 库使用,用户还可通过项目文件和脚本补充名称、类型和注释。

使用条件与局限

  • 审阅时最新版本为 0.12.5,发布于 2026-09-29,提供 x86 与 x64 的 Windows MSI 安装包,以及命令行和图形界面的 zip 构建;Reko.Decompiler.Runtime NuGet 包同为 0.12.5。所审阅的 master 分支提交(2026-10-14)比该版本多十个提交。
  • 需要 .NET 9.0。从源码构建需要 .NET 9.0 SDK(IDE 用户可用 Visual Studio 2026),NativeProxy 项目还需要 CMake;WiX 工具集仅在制作 MSI 安装包时需要。CI 在 Ubuntu、Windows 和 macOS 上构建。跨平台的 Avalonia 图形界面仍在开发中;用户指南中针对非 Windows 系统的说明仍提到 AppVeyor 构建和 Mono。
  • 输入应为使用者有权反编译的二进制文件;README 提醒,许多软件许可禁止反编译。原始镜像需明确指定加载器、架构、基址和入口地址。用户指南指出,有用的反编译结果通常需要用户补充类型、名称和注释;当间接跳转或调用使代码难以发现时,可能还需要启发式扫描。
  • 采用 GPL-2.0 许可(见 COPYING)。完整的架构与格式列表位于项目 wiki,本次未审阅;架构和加载器目录只做了计数,未实际验证。仓库的 subjects 目录存放从其他来源收集的回归测试样本及 Reko 对它们的输出,属于测试数据,不是工具本身的一部分。本次未反编译任何二进制。

关于此条目

类型
工具
类别
原生分析工具
关联
基础工具
目标
二进制 · 固件

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · uxmal/reko · 修订 63c497a
  2. doc/guide/reko.md GitHub · uxmal/reko · 修订 63c497a
  3. doc/guide/cli.md GitHub · uxmal/reko · 修订 63c497a
  4. src/Arch GitHub · uxmal/reko · 修订 63c497a
  5. src/ImageLoaders GitHub · uxmal/reko · 修订 63c497a
  6. .github/workflows/reko.yml GitHub · uxmal/reko · 修订 63c497a
  7. subjects/README.md GitHub · uxmal/reko · 修订 63c497a
  8. COPYING GitHub · uxmal/reko · 修订 63c497a
  9. https://github.com/uxmal/reko/releases/tag/version-0.12.5
  10. https://www.nuget.org/packages/Reko.Decompiler.Runtime/0.12.5