Repository navigation
kuna v1.974
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.974-specs.tar.gz is the same spec tree, for KUNA_SPECS. See docs/release.md.
kuna-v1.974-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] Preserve late PHIs when rejoining split conditions by @mahaloz in #1204
- [AUTOMATED] Preserve wider stores in narrow stack parameter slots by @mgostIH in #1161
- [AUTOMATED] Validate catalog assertion names against registry counts by @mahaloz in #1206
- [AUTOMATED] Avoid quadratic call guards in global initializers by @mahaloz in #1208
- [AUTOMATED] Hash the engine's lookup-only id maps with FxHasher by @mahaloz in #1203
- [AUTOMATED] Preserve local stack writes across typed views by @mahaloz in #1209
- [AUTOMATED] Preserve function linkage identifiers in project C exports by @thotypous in #1178
- [AUTOMATED] Make imported data identifier folding collision-safe by @thotypous in #1166
- [AUTOMATED] Preserve aggregate representations in equal-width C casts by @thotypous in #1173
- [AUTOMATED] Bind defined DWARF signatures to exact ELF PLT entries by @thotypous in #1170
- [AUTOMATED] Opt-in option regsigned: declare a sign-extended register local at its own width by @mahaloz in #1158
- [AUTOMATED] Reconcile interior scalar views of union arrays by @thotypous in #1198
- [AUTOMATED] Double-click a global in the web decompiler to see its data in a new Data tab by @mahaloz in #1213
- [AUTOMATED] Recover scalar types for native x87 return storage by @thotypous in #1174
- [AUTOMATED] Retain signed x86 bounds-check operations by @thotypous in #1186
- [AUTOMATED] Preserve scalar pointer views of byte-array storage by @thotypous in #1197
- [AUTOMATED] Preserve signed x87 conversion bits in floating storage by @thotypous in #1196
- [AUTOMATED] Honor declared data ranges over inferred interior strings by @thotypous in #1195
- [AUTOMATED] Preserve visible reads when moving for-loop increments by @thotypous in #1199
- [AUTOMATED] Preserve stack writes through declared pointers after frame-base restoration by @thotypous in #1194
- [AUTOMATED] Skip the BOUND Windows replay without a MinGW sysroot by @mahaloz in #1214
- [AUTOMATED] Preserve floating LOAD bits in stack byte copies by @thotypous in #1211
- [AUTOMATED] Retain every DWARF array dimension in storage extents by @thotypous in #1202
- [AUTOMATED] Validate global subfield pointers against global symbols by @thotypous in #1207
- [AUTOMATED] Add opt-in bounded i386 switch coverage to discovery by @mahaloz in #1215
- [AUTOMATED] x86listingswitch: refuse a case inside another case's instruction by @mahaloz in #1216
- [AUTOMATED] Prove sealed MIPS register-pair returns from typed callers by @mahaloz in #1212
- [AUTOMATED] Turn on ARM hard-float VFP contracts in the aggressive preset (armfloatreturn, armfloatargs) by @mahaloz in #1136
Full Changelog: v1.946...v1.974