工具

Kuna 智能体优先反编译器

以智能体为核心、用 Rust 编写的反编译器,最初移植自 Ghidra 的 C++ 反编译器和 SLEIGH 编译器,此后加入了可按选项开关的功能(部分移植自 angr),已与上游分化。单个自包含的 kuna 程序可反编译单个函数,也可将整个二进制导出为 C、头文件和汇编文件;同一引擎还能通过 WebAssembly 在浏览器中运行,或在 Ghidra 中充当反编译后端。项目自称是让 LLM 智能体持续改进反编译器的实验,大部分代码由智能体编写,并以回归测试和基准结果为导向。

使用条件与局限

  • README 称 Kuna 是一项实验。项目由定时工作流每天发布版本;审阅时最新为 2026-10-18 的 v1.906,提供 Linux x86_64(glibc 与 musl)和 arm64、macOS arm64 与 x86_64、Windows x86_64 的 kuna 压缩包,以及规格文件包和适配 Ghidra 12.1.2 的扩展 zip。所审阅的 main 分支提交比该版本多 40 个提交,而 README 的 Ghidra 安装步骤仍链接较旧的 v1.157 扩展包。
  • 发布版二进制已内置编译好的 SLEIGH 规格。从源码构建只需 Rust 工具链,工作区声明 Rust 1.90+;构建与发布版一致的 kuna 之前,需先用 make specs 编译随仓库附带的 Ghidra 处理器规格。待分析的二进制由使用者自备;README 称浏览器版在使用者本机完成反编译,文件不会离开本地。
  • Ghidra 扩展与文件名中的 Ghidra 版本绑定,内含 Linux、macOS 和 Windows 后端;其他 12.x 版本被标为未经验证,README 也说明尚不支持 Ghidra 原生的全部功能。无界面 Ghidra 不加载该插件,因此 README 改为替换原有的 decompile 程序或使用 PyGhidra 开关,并称已在 Ghidra 12.1.2 和 REA 3.1.0 上测试过这种替换。这是项目自己的兼容性说明,并非 REA 维护的集成;本目录未实际尝试。
  • CI 运行从 Ghidra 引入的 XML 回归语料(675 条断言)并与仓库内的基线比对,同时运行 Kuna 自有的阶段测试用例、cargo 工作区测试、规格文档检查、CLI 测试和浏览器页面模块测试。docs/history.md 称 Rust 移植版在移除 C++ 代码树之前,已在全部 675 条断言上与未改动的 C++ 反编译器一致。README 中的 DecBench 领先名次和速度数据为项目自述;本次审阅未反编译任何文件。
  • 采用 Apache-2.0 许可。NOTICE 说明引擎、SLEIGH 编译器、处理器规格和回归语料源自同为 Apache-2.0 的 Ghidra,部分结构化与区域恢复代码按 BSD-2-Clause 移植自 angr。其输出按设计可能与原版 Ghidra 不同,只是阅读辅助,并非经过验证的原始源码。

关于此条目

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

来源复核于

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

一手来源

  1. README.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  2. NOTICE GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  3. LICENSE GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  4. decompiler/Cargo.toml GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  5. docs/history.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  6. integrations/ghidra/KunaDecompiler/README.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  7. skills/kuna/SKILL.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  8. .github/workflows/tests.yml GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  9. .github/workflows/release.yml GitHub · Noelo-Lab/kuna · 修订 d1f98e5
  10. https://github.com/Noelo-Lab/kuna/releases/tag/v1.906