Skip to content

kuna v1.974

Choose a tag to compare

@github-actions github-actions released this 20 Oct 11:08
4f79ade

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