Skip to content
induwara.lk
Premium
induwara.lkDeveloper · Reverse engineering

Kuna Decompiler vs IDA Pro, Ghidra and angr — Compared on DecBench

Set your architecture, operating system, budget and must-have features. The tool drops every decompiler that cannot do the job, says why, and ranks what is left on measured DecBench accuracy, licence terms and yearly cost in dollars and rupees. 16 options, every figure cited, no signup.

By Induwara AshinsanaUpdated Sep 21, 2026
Pick a decompiler16 options
DecBench v1.0 · 2026-09-19
Kuna, answered directly

Kuna is an agent-first decompiler in Rust, released on 29 July 2026 by Zion Leonahenahe Basque. It began as a port of the NSA's Ghidra and has since diverged, and it is Apache-2.0 licensed. On the corpus selected above it structures 48.44% of functions perfectly against IDA Pro 9.2's 45.97%ahead by 2.5 points. The July release post quoted 44.4% against 45.7%; the scoreboard has moved since.

That number covers structuring only. Its author lists types, optimizations, recompilability, variable identification as still open, and the type and recompilation columns below show what that costs: Kuna recovers types on 11.58% of functions and recompiles 5.38%. Both numbers say more about how unsolved decompilation is than about any one tool — every decompiler here fails on most functions.

Start from

40% structure, 35% types, 25% recompilability.

Rs

Indicative rate, rupees per US dollar. Edit it to match your bank.

Must have

Benchmark corpus

Unoptimized (O0) Stripped O0 builds. DecBench's default corpus and the one the Kuna release post quotes. 34,505 functions across 256 binaries.

Best match
angr
BSD-2-Clause
Match score
93.5 / 100
Structure 42.43%
Yearly cost
Free
BSD-2-Clause
Survived filters
6 of 16
10 ruled out

Ranked — measured on DecBench

Weighting for this corpus: structure 40%, types 35%, recompilability 25%.

#1angrBSD-2-Clause

Widest capability coverage of the survivors, at 94% of the best measured score.

93.5
Rs 0
Structure
42.43%
Types
12.69%
Recompile
7.13%
Any metric
47.52%
50×B 0.936 = 46.830×F 0.889 = 26.720×C 1.000 = 20.08/9 capabilities

A Python analysis library first and a decompiler second. Its official GUI, angr-management, is where the plugin manager and the MCP server for coding agents live. RISC-V support is 64-bit only.

Source for this row
#2KunaApache-2.0

Best measured accuracy here, held back by its feature coverage or its price.

86.7
Rs 0
Structure
48.44%
Types
11.58%
Recompile
5.38%
Any metric
51.41%
50×B 1.000 = 50.030×F 0.556 = 16.720×C 1.000 = 20.05/9 capabilities

Agent-first by design: the README states the project deliberately trades GUI and visualisation work for output quality and speed. No headerless loader and no bytecode front end are documented.

Source for this row
#3GhidraApache-2.0

Widest capability coverage of the survivors, at 71% of the best measured score.

82.3
Rs 0
Structure
32.4%
Types
10.58%
Recompile
3.86%
Any metric
37.46%
50×B 0.712 = 35.630×F 0.889 = 26.720×C 1.000 = 20.08/9 capabilities

The widest documented capability set of any free option, and the only free one with a collaboration server. Needs a JDK and is the heaviest of the free tools to run.

Source for this row
#4r2dec (radare2)BSD-3-Clause / MIT

Free, at 46% of the best measured score here.

63.0
Rs 0
Structure
24.16%
Types
4.72%
Recompile
0.32%
Any metric
26.42%
50×B 0.460 = 23.030×F 0.667 = 20.020×C 1.000 = 20.06/9 capabilities

Emits pseudo-C from radare2's disassembly rather than running a full decompilation pipeline, which is why its scores sit well below the others. Installed with r2pm, driven from the r2 console with pdd.

Source for this row

Matched, but never independently measured

Listed apart rather than mixed into the ranking above. A tool with no measurement is not the equal of one with a poor measurement, and pretending otherwise would be the easiest way to mislead you.

#1RekoGPL-2.0no independent benchmark

Not in DecBench v1.0, so it is scored on features and cost alone and listed apart from the measured tools.

66.7
Rs 0
60×F 0.444 = 26.740×C 1.000 = 40.04/9 capabilities

Ran on DecBench's 250-function sample set only, so it has no full-corpus score. Needs .NET 9. Its own wiki rates RISC-V at the lowest maturity level, and does not name a headerless loader.

Source for this row
#2RetDecMITno independent benchmark

Not in DecBench v1.0, so it is scored on features and cost alone and listed apart from the measured tools.

66.7
Rs 0
60×F 0.444 = 26.740×C 1.000 = 40.04/9 capabilities

LLVM-based and still the easiest free decompiler to script, but the last tagged release is v5.0 from December 2022 and it does not appear in DecBench v1.0, so no independent measurement exists for it here.

Source for this row

Plain text, ready for a procurement mail or a project README.

Ruled out, and why

  • dewolfCosts USD 199 — you asked for free tools only
  • IDA FreeNo documented scriptable API
  • IDA HomeCosts USD 365 — you asked for free tools only · No documented scriptable API
  • IDA Pro EssentialCosts USD 1,099 — you asked for free tools only
  • IDA Pro Expert-2Costs USD 2,999 — you asked for free tools only
  • IDA Pro UltimateCosts USD 8,599 — you asked for free tools only
  • Binary Ninja FreeNo documented scriptable API
  • Binary Ninja Non-CommercialCosts USD 199 — you asked for free tools only
  • Binary Ninja CommercialCosts USD 1,799 — you asked for free tools only
  • Binary Ninja UltimateCosts USD 3,499 — you asked for free tools only

Every option, unfiltered

ToolLicenceStructureTypesRecompileUSD/yrLKR/yr
Kuna1.515Open source48.44%11.58%5.38%00
Ghidra12.1Open source32.4%10.58%3.86%00
angr9.3.4Open source42.43%12.69%7.13%00
r2dec (radare2)6.2.0Open source24.16%4.72%0.32%00
dewolfv2026.7.11Open source · non-commercial4.84%6.55%0%19966,552
RetDecv5.0Open sourcenot benchmarked00
RekoDecBench sample-set buildOpen sourcenot benchmarked00
IDA Free9.2 engineProprietary · non-commercial45.97%10%3.61%00
IDA Home9.2 engineProprietary · non-commercial45.97%10%3.61%365122,067
IDA Pro Essential9.2Proprietary45.97%10%3.61%1,099367,539
IDA Pro Expert-29.2Proprietary45.97%10%3.61%2,9991,002,956
IDA Pro Ultimate9.2Proprietary45.97%10%3.61%8,5992,875,764
Binary Ninja Free6.0Proprietary · non-commercial32.42%12.22%2.5%00
Binary Ninja Non-Commercial6.0Proprietary · non-commercial32.42%12.22%2.5%19966,552
Binary Ninja Commercial6.0Proprietary32.42%12.22%2.5%1,799601,640
Binary Ninja Ultimate6.0Proprietary32.42%12.22%2.5%3,4991,170,171

Scores are for the corpus selected above. Every IDA row shares one measurement, of IDA Pro 9.2; the same is true of the Binary Ninja tiers. The tiers differ in licence, architectures and price, not in decompiler engine.

Accuracy figures come from the DecBench v1.0 scoreboard generated on 2026-09-19, with its “normalize failures” toggle off. Prices are each vendor's published list price for one seat and exclude taxes, fees and volume discounts. Rupee figures are the USD figure at the rate in the box above and never affect the ranking. Anything a source does not publish is shown as not documented rather than guessed.

How the ranking works

Every accuracy figure on this page comes from DecBench v1.0, generated on 2026-09-19, which runs 14 decompilers over 96,092 functions from 770 binaries built from 40open-source projects — bash, coreutils, u-boot, OpenSSH and the rest. Nothing here re-runs that benchmark and nothing here invents a score. The counts were read from the scoreboard's own data payload with its “normalize failures” toggle off, which is the site default.

DecBench publishes three metrics per corpus. Structureis a graph edit distance between the decompiler's control-flow graph and the ground truth: the count of node and edge insertions, deletions and substitutions needed to turn one into the other, scored as the fraction of functions where that distance is zero. Typesis the fraction of variables and arguments whose recovered type matches the binary's DWARF information. Recompile is the fraction whose decompiled C rebuilds to byte-identical assembly. All three are reported as hits over the functions the metric could be evaluated on, which is why the denominators differ between columns.

The tool runs two stages. Stage one eliminates. A decompiler is removed, with the blocker named, when its published architecture list does not cover your target, when it does not run on your operating system, when its licence forbids work you are paid for, when its price exceeds your ceiling, or when it lacks a capability you marked must-have. Nothing is scored down for these — a licence that forbids your work is not a small deduction.

Stage two scores the survivors as score = 50·B + 30·F + 20·C. B is benchmark fit: the weighted sum of the three metrics under your chosen priority, then divided by the best surviving raw value so the leader scores 1.0. F is feature fit: the share of the capability list, excluding your must-haves, that the tool documents. C is cost fit: 1 − price/ceiling against a finite budget, 1 − price/highest-price without one, and 1.0 when everything surviving is free. The three weighted terms are printed beside every result so the ranking can be audited rather than taken on trust.

The 50/30/20 split is a stated editorial judgement, not a derived constant. Measured accuracy carries the most weight because it is the only term an independent third party produced; cost carries the least because it is the term you can most easily overrule with context this page does not have. A tool with no DecBench row is never given an invented B. It is scored on features and cost alone and listed in a separate group, because a tool nobody has measured is not the equal of one measured poorly.

Rupee figures are presentation only. They are the vendor's USD list price multiplied by the rate in the calculator, and they never enter the score — so a ranking does not quietly change when the exchange rate moves.

Worked examples

Undergraduate with no budget

x86-64 · Linux · free only · non-commercial · must-have: decompiles to C, scriptable API · balanced

  1. Stage 1 removes every paid tier on the budget filter, and IDA Free and Binary Ninja Free for having no documented scriptable API.
  2. Weights for balanced: 0.40 structure, 0.35 types, 0.25 recompilability.
  3. Kuna B_raw = 0.40(48.44%) + 0.35(11.58%) + 0.25(5.38%) = 0.2477
  4. angr B_raw = 0.40(42.43%) + 0.35(12.69%) + 0.25(7.13%) = 0.2320
  5. Ghidra B_raw = 0.40(32.40%) + 0.35(10.58%) + 0.25(3.86%) = 0.1763
  6. B = B_raw ÷ 0.2477 → Kuna 1.000, angr 0.936, Ghidra 0.712
  7. F over the 8 remaining capabilities: angr 7/8, Ghidra 7/8, r2dec 5/8, Kuna 4/8
  8. C = 1.0 for all — every survivor is free
  9. angr 50(0.936) + 30(0.875) + 20 = 93.1
  10. Kuna 50(1.000) + 30(0.500) + 20 = 85.0
  11. Ghidra 50(0.712) + 30(0.875) + 20 = 81.8
  12. Kuna wins the measurement and still places second: it is the narrowest of the free survivors on everything DecBench does not measure.

Colombo consultancy doing paid malware triage

ARM64 · Windows · up to USD 1,500/yr · paid work · must-have: headless, plugins (+ raw loader, implied by the packed-sample preset) · balanced

  1. Binary Ninja Non-Commercial (USD 199) is removed on its licence, not its price — it forbids paid work. dewolf goes with it: it is LGPL-2.1 itself, but it runs inside that same Binary Ninja tier.
  2. IDA Pro Expert-2 (USD 2,999), Binary Ninja Commercial (USD 1,799) and Ultimate (USD 3,499) exceed the ceiling; IDA Free has no ARM64.
  3. Kuna, RetDec and Reko are removed for documenting no plugin ecosystem.
  4. Survivors: angr, Ghidra, r2dec (all free) and IDA Pro Essential (USD 1,099/yr).
  5. angr B_raw = 0.2320 → the best here, so B = 1.000
  6. IDA B_raw = 0.40(45.97%) + 0.35(9.99%) + 0.25(3.61%) = 0.2279 → B = 0.983
  7. Ghidra B = 0.1763 ÷ 0.2320 = 0.760 · r2dec B = 0.491
  8. F over the 7 remaining capabilities: angr 6/7, Ghidra 6/7, IDA 5/7, r2dec 4/7
  9. C: the three free tools 1.0 · IDA 1 − 1099/1500 = 0.267
  10. angr 50(1.000) + 30(0.857) + 20(1.0) = 95.7
  11. Ghidra 50(0.760) + 30(0.857) + 20(1.0) = 83.7
  12. IDA 50(0.983) + 30(0.714) + 20(0.267) = 75.9
  13. IDA loses almost nothing on accuracy and 15 points on cost: at Rs 334.43/USD, Rs 367,539/yr against Rs 0. That trade is the decision, and it is now priced in the currency the invoice arrives in.

Edge case — a rare architecture and a metric nothing scores well on

RISC-V · macOS · no budget ceiling · paid work · must-have: source available · recompilability · inlined corpus

  1. RetDec, IDA Free and Binary Ninja Free are removed for publishing no RISC-V support.
  2. Every IDA Pro and Binary Ninja paid tier is removed on source availability; IDA Home, Binary Ninja Non-Commercial and dewolf on the non-commercial licence.
  3. Priority recompilability sets the weights to 0 / 0 / 1, so B_raw is that one rate on the inlined corpus:
  4. Kuna 956/14,238 = 6.71% · Ghidra 772/14,238 = 5.42% · angr 669/14,238 = 4.70% · r2dec 18/14,238 = 0.13%
  5. B = Kuna 1.000, Ghidra 0.808, angr 0.700, r2dec 0.019
  6. F over the 9 remaining capabilities: Ghidra 8/9 = 0.889, angr 8/9 = 0.889, r2dec 6/9, Kuna 5/9 = 0.556
  7. C = 1.0 for all — every survivor is free, so there is no price to normalise against
  8. Ghidra 50(0.808) + 30(0.889) + 20 = 87.0
  9. Kuna 50(1.000) + 30(0.556) + 20 = 86.7
  10. angr 50(0.700) + 30(0.889) + 20 = 81.7
  11. The winner flips against the first example on the same weighting, because narrowing to one metric changes which tool the measurement favours.

What the Kuna release post said, and what changed

The release post, published on 29 July 2026 by Zion Leonahenahe Basque, quoted 44.4% perfect structuring against IDA Pro 9.2's 45.7% — Kuna 1.3 points behind. The DecBench v1.0 scoreboard generated on 2026-09-19has Kuna 1.515 at 48.4% against the same IDA build's 46.0%, so the sign of the gap has flipped in under two months. That is the point of the project rather than a footnote: it is refined against the benchmark continuously, so any figure quoted for it carries a date.

The author's own caveat still holds. Structuring is one dimension, and types, optimisations, recompilability and variable identification are listed as open. The calculator's type and recompile columns show what that costs. The release post published no licence; the repository does, and it is Apache-2.0.

One more thing worth knowing before you read any decompiler leaderboard: DecBench's 250-function sample set is public, and the benchmark itself warns that an LLM's score on it can reflect recall rather than decompilation. The coding agents top that set and are nowhere on the full corpus, so they are kept out of the ranking above.

Sources & references

Consistency check:every one of the transcribed benchmark rows is re-derived on each page load against DecBench's own definition of its headline column — a function counted as perfect on at least one metric must also be counted on one of the three individual metrics, and cannot be counted more times than the three added together. All rows pass, on all four corpora.

Every benchmark count, price, licence and architecture list on this page was transcribed from the sources above on 2026-09-21. Figures a source does not publish are shown as not documented and are never estimated. This page does not host, mirror or link to redistributed builds of any commercial tool, and it gives no view on whether reverse-engineering a particular target is lawful where you are — read the vendor's own terms.

Frequently asked questions

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

A price changed, a licence moved, or a benchmark row looks wrong?

Email me at [email protected] — most fixes ship within 24 hours.