工具
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 不同,只是阅读辅助,并非经过验证的原始源码。
关于此条目
- 类型
- 工具
- 类别
- 原生分析工具
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- NOTICE GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- LICENSE GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- decompiler/Cargo.toml GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- docs/history.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- integrations/ghidra/KunaDecompiler/README.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- skills/kuna/SKILL.md GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- .github/workflows/tests.yml GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- .github/workflows/release.yml GitHub · Noelo-Lab/kuna · 修订 d1f98e5
- https://github.com/Noelo-Lab/kuna/releases/tag/v1.906