Kuna:编程智能体时代的反编译器开发
摘要
Kuna 是一个实验性反编译器,其代码几乎完全由 LLM 编写,通过基于科学指标的自主优化,实现了与 IDA Pro 9.2 相媲美的控制流结构性能。
暂无内容
查看缓存全文
缓存时间: 2026/07/30 04:46
# Kuna:编码代理时代的反编译器开发
来源:https://noelo.org/blog/kuna-release/
博客(https://noelo.org/blog/)
关于 Kuna(一款为自主优化而设计的新型代理优先反编译器)发布的背景、动机与思考。
今天,我正式发布 **Kuna**(https://kuna.noelo.org/),这是一款实验性反编译器,我在暑期作为访问教职研究员在 **空军研究实验室 (AFRL)**(https://www.afrl.af.mil/)以及作为研究员在 **Metalware**(https://www.metalware.com/)期间持续开发。然而,当我说“*我一直在开发*”时,需要澄清的是,该项目中几乎每一行代码都是由 LLM 编写的。
尽管如此,在 **控制流结构化**(https://decompilation.wiki/fundamentals/structuring/overview/)方面(针对 C 程序),这款反编译器现已能与行业标杆 IDA Pro (9.2) 相匹敌:在最近的 **基准测试结果**(https://decbench.com/)中,Kuna 对 44.4% 的函数实现了完美的结构化,而 IDA 则为 45.7%。这一成果主要通过自主优化实现:LLM 会在其基础指标上表现不如 IDA Pro 的案例中进行学习,而这些指标直到 **最近几年才出现**(https://decompilation.wiki/fundamentals/evaluation/)。通过这种策略,它能通过试错有效“*学习*”其他反编译器如何解决难题。
IDA Pro 并非这一改进过程中唯一被研究的反编译器。这项大规模优化实验还涉及了 Ghidra 和 angr 反编译器;我的整个博士阶段都是 **后者的核心开发者**(https://mahaloz.re/dec-history-pt2#sailr-compiler-aware-structuring)。这种学习方法让 LLM 能够在 Kuna 中重新实现来自 angr 的 **20 多项核心功能**(https://github.com/Noelo-Lab/kuna/tree/main/docs/features),而这些功能我们当年通过 **科学进步**(https://www.usenix.org/system/files/usenixsecurity24-basque.pdf)耗费多年才设计出来。我强调这一切是为了说明,这个项目绝非“*粗制滥造*”:它是一次真正的实验性尝试,旨在开发一款能自动提升性能且具有科学价值的工具。
#### Kuna 与 Hex-Rays 的代码片段对比,展示 angr 的一项常用 switch 特性
Kuna 与 Hex-Rays 反编译代码的对比
---
话虽如此,我也想承认这种方法的局限性,以及这项工作可能对研究社区产生的影响。
首先,Kuna 的实现完全依赖于科学家和工程师 **数十年的努力**(https://mahaloz.re/dec-history-pt1)推动反编译器研究进展。事实上,Kuna 是 **NSA 的 Ghidra**(https://github.com/nationalsecurityagency/ghidra)的 Rust 移植版,并经过重构以更贴近 angr 的流水线设计。这也是我短期内不打算离开 angr 反编译器的原因。angr 反编译器仍然是我开发反编译前沿算法的首选平台,因为它本来就是为此设计的。
而 Kuna 则是一项“*实验*”,旨在探索仅凭高层级科学反馈能实现什么。在现阶段,手动为 Kuna 编写任何代码都变得异常困难。Kuna 需要 angr(以及其他开源研究),而我希望,经过更多时间后,angr 也会需要 Kuna(如果实验成功的话)。
其次,Kuna 甚至需要科学洞察才能开始“自动”优化,这或许解释了为什么目前没有其他反编译器做到这一点(据我所知)。要达到这一步,需要发现新的 **基础指标**(https://www.usenix.org/system/files/usenixsecurity24-basque.pdf),研究哪些指标与 **人类的逆向价值**(https://www.ndss-symposium.org/wp-content/uploads/2026-f380-paper.pdf)相符,并经过多年积累理解 **有意义的基准测试需要哪些数据**(https://decbench.com/about/#the-dataset)。简而言之:这也不是“*自动化研究*”;它需要由人类主导的研究。
最后,这款反编译器仍有巨大的进步空间。我们在结构化方面表现不错,但反编译远不止结构化!我们需要改进类型推断、优化、可重编译性、变量识别……你懂的。毕竟,这是一项实验,旨在验证在我们用于开发 Kuna 的框架内,是否有可能实现所有这些目标。而我和(我们)非常需要你的帮助。
---
如果你对 Kuna 的内部机制、项目目标或自动改进的工作方式感兴趣,请查看 **代码**(https://github.com/noelo-Lab/kuna),或等待后续更技术的文章。一如既往,我要感谢那些帮助我完善想法并推动研究前进的人。我的博士导师 **Fish**(https://ruoyuwang.me/)和 **Yan**(https://yancomm.net/)是我研究灵感的最大来源。同时,也感谢 Metalware、AFRL 和国防部提供的洞见,它们让我的研究更具影响力。
让我们在实验的下一个检查点再会!
相似文章
Koder:基于浏览器界面的编码和计算机使用工具
发布Koder,一个本地/离线的AI编码和计算机使用工具,具有浏览器界面,支持llama.cpp、MCP、视觉模型和多任务规划。
Show HN:Decomp Academy – 学习将 GameCube 游戏反编译为匹配的 C 代码
Decomp Academy 是一个交互式在线平台,教会用户如何通过编写字节匹配的 C 代码,针对 2001 年 MWCC 编译器生成的真实 PowerPC 汇编输出来反编译 GameCube 游戏。
DeepCode:开放式智能体编程
DeepCode 是一个完全自主的框架,用于从文档到代码库的合成,通过原则性的信息流管理将科学论文转化为生产级代码,在 PaperBench 上取得了最先进的结果,并超越了博士级人类专家。
编码中90%的枯燥任务基本上已被解决
一位开发者分享使用廉价AI模型(DeepSeek v4、Hunyuan Hy3预览版)自动化90%编码任务的经验,而Opus则用于更难的10%,强调了成本和延迟权衡。
@0x0SojalSec: AI Ghidra 和 Radare2:AI 驱动的逆向工程。能够反汇编、反编译、使用 YARA 扫描等的 AI 代理,以及…
Reversecore MCP 是一款企业级的 AI 驱动的逆向工程与安全分析工具,通过模型上下文协议(MCP)与 AI 助手集成,提供超过 50 种工具,用于静态/动态分析、恶意软件分析、漏洞研究等。