Kuna: An LLM-Driven Decompiler Rivaling IDA Pro
Kuna: Decompiler Development in the Age of Coding Agents

I am releasing Kuna, an experimental decompiler where an LLM wrote nearly every line of code. Through autonomous refinement, it rivals IDA Pro in control flow structuring by learning from benchmarks. While Kuna builds on decades of research from tools like Ghidra and angr, it proves that scientific feedback can drive automatic tool improvement without replacing human insight.
I emphasize all of this to clarify that this project is more than just slop: it is a truly experimental approach to developing a scientifically interesting tool that gets better automatically.
- gopalraja
Yeah — i agree based on my own experience. It was that the loop only works because if you have a rubruc to measure againt.
I’ve had similar issues but not in any decompiler mode. Agents can be deceptive in explaining something so well (and I was too lazy to carefully read it verify it myself). Where I got burned was when a beta tester pointed out some citations that didnt exist. So i put a check in place. agent can propose freely, unconfirmed stuff fails closed, my rubric checks get the veto. Same shape as what you’re describing. The agent can refine; the rubric metrics is what keeps it from just becoming fluent drift. Without that human in the loop, autonomous improvement is mostly relies on luck. On the other hand, I am seeing more and more the newer model's reasoning and having another llm eval (provided that llm has rubrics to measure against) does lessen the falseness.
- saidnooneever
this is really amazing work thank you and in my opinion (as its explained) a very good example of how to use AI powered development and research to advance the tools we have. decompilation is really hard, and better algorithms for it are very valuable contributions for many areas of tech.
- fishfasell
It would be cool to see agentic interpretation of function and variable names. It can see and track the flow of data a lot faster than a human can so if given some context, maybe it could synthesize names for them.