Repository navigation
kuna v1.989
Each archive ships kuna, one self-contained binary: the decompiler console and the SLEIGH compiler are built in, and so are the compiled SLEIGH specs (unpacked once into the user cache directory on first use). kuna-v1.989-specs.tar.gz is the same spec tree, for KUNA_SPECS. See docs/release.md.
kuna-v1.989-KunaDecompiler-ghidra_12.1.2.zip is the ready-to-install KunaDecompiler extension for Ghidra 12.1.2 (in Ghidra: File -> Install Extensions... -> + -> pick the zip -> restart -> enable KunaDecompilerPlugin). It bundles prebuilt kuna_ghidra backends for Linux x86_64/arm64, macOS x86_64/arm64, and Windows x86_64, so it installs fully airgapped: the Ghidra release zip plus this zip are the only two files needed -- no network, no Rust toolchain. The zip is version-locked to Ghidra 12.1.2; other Ghidra 12.x versions can choose "Install Anyway" at the version-mismatch dialog (compatibility unverified).
What's Changed
- [AUTOMATED] Spell Go record types within their own package by @mahaloz in #1403
- [AUTOMATED] Emit bounded Go byte-array reads and writes by @mahaloz in #1405
- [AUTOMATED] read: say which bytes are the file's, which are zero fill, and what each segment permits by @mahaloz in #1404
- [AUTOMATED] Emit bounded scalar reads from Go byte-array results by @mahaloz in #1409
- [AUTOMATED] Preserve explicit Go integer widening by @mahaloz in #1413
- [AUTOMATED] Order three slot-sensitive choices by creation, not by Varnode id by @mahaloz in #1407
- [AUTOMATED] xrefs: decode an explicit source in executable memory not marked as code, and say what was examined by @mahaloz in #1412
- [AUTOMATED] Fill heritage's own reads while renaming instead of through placeholder Varnodes (libpython 0x3b72c0 15.8 -> 10.9 GB, same C) by @mahaloz in #1408
- [AUTOMATED] Preserve sign and width in Rust integer extensions by @mahaloz in #1414
- [AUTOMATED] Preserve keyword-named machine operations in Rust by @mahaloz in #1416
- [AUTOMATED] Preserve signed primitive operations in Rust output by @mahaloz in #1419
- decompile: keep non-ASCII binary and TEMP paths intact by @hoo0681 in #1417
- [AUTOMATED] Share one effect annotation among the guards of a call or store (libpython 0x3b72c0 13.3 -> 9.8 GB, same C) by @mahaloz in #1418
- [AUTOMATED] Allocate a Varnode's unknown-type skeleton when its type is first read (libpython 0x3b72c0 -2 GB at heritage, same C) by @mahaloz in #1420
- [AUTOMATED] decompile/decompile-all --json: --omit leaves record collections out and names them by @mahaloz in #1422
- [AUTOMATED] Split stack and ram accesses that wrap past the top of their space before heritage (build_refinement panic, Overlapping input varnodes) by @mahaloz in #1425
- [AUTOMATED] Recover verified Rust panic formatting macros by @mahaloz in #1421
- [AUTOMATED] Recover older Rust piece-array printing by @mahaloz in #1430
- [AUTOMATED] Recover verified Rust string formatting arguments by @mahaloz in #1431
- [AUTOMATED] read: list every other segment that maps a range, and say which one kuna read by @mahaloz in #1432
- [AUTOMATED] Let switchrunon cut a table whose guards leave its top open (option switchrunonguard) by @mahaloz in #1429
- [AUTOMATED] Recover verified Rust String write macros as an opt-in feature by @mahaloz in #1433
- [AUTOMATED] Recover verified Rust Stdout write! and writeln! by @mahaloz in #1428
- [AUTOMATED] Keep a one-worker decompile-all's call graph, results and freed heap out of each function's memory limit by @mahaloz in #1427
- [AUTOMATED] Qualify standalone function addresses in C output by @mahaloz in #1434
- [AUTOMATED] Preserve qualified DWARF function identities by @mahaloz in #1437
- [AUTOMATED] Apply the call and address relocations of PowerPC and MIPS object files by @mahaloz in #1435
- [AUTOMATED] Read MIPS PIC callers through the GOT for option bejoin callers by @mahaloz in #1436
- xrefs: follow A32 add/ldr branch tables into their cases by @alvistar in #1399
- [AUTOMATED] xrefs: put decode's doc comment back on decode by @mahaloz in #1439
- [AUTOMATED] feat(analysis): recover PPC32 PIC imports by @phix33 in #1292
- [AUTOMATED] Summarize verified AMD64 Rust stack probes by @mahaloz in #1442
- [AUTOMATED] Mark and warn about a --define-function the input does not map by @mahaloz in #1441
- [AUTOMATED] Preserve empty Rust match arms without breaking loops by @mahaloz in #1448
New Contributors
Full Changelog: v1.988...v1.989