Skip to content

kuna v1.980

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:13
28219c9

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.980-specs.tar.gz is the same spec tree, for KUNA_SPECS. See docs/release.md.

kuna-v1.980-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 anonymous record definitions and identity by @thotypous in #1233
  • [AUTOMATED] Reject overlapping independent stack retypes by @thotypous in #1227
  • [AUTOMATED] Preserve record declarations with leading array members by @thotypous in #1222
  • [AUTOMATED] Use emitted member types for scalar bit transfers by @thotypous in #1230
  • [AUTOMATED] Normalize signed constants to their declared width by @thotypous in #1234
  • [AUTOMATED] Preserve declared pointer values through integer stores by @thotypous in #1238
  • [AUTOMATED] Refresh cached live ranges after block renumbering by @thotypous in #1221
  • [AUTOMATED] Preserve locked scalar local declarations by @thotypous in #1228
  • [AUTOMATED] Recover Go pclntab functions on Mach-O by @TsingShui in #1237
  • [AUTOMATED] Allocate and declare relocatable common objects by @thotypous in #1242
  • [AUTOMATED] Preserve storage declarations for PE data exports by @thotypous in #1220
  • [AUTOMATED] Convert pointer storage initializers to their declared type by @thotypous in #1236
  • [AUTOMATED] Preserve floating results in local byte-array storage by @thotypous in #1224
  • [AUTOMATED] Preserve detached locked scalar bindings by @thotypous in #1229
  • [AUTOMATED] Relocate indexed pointers stored in declared members by @thotypous in #1232
  • [AUTOMATED] Preserve scalar bits in declared byte-array members by @thotypous in #1223
  • [AUTOMATED] Resolve a function name without the whole inventory by @TsingShui in #1239
  • [AUTOMATED] Preserve byte-array frame writes from SSA definitions by @thotypous in #1225
  • [AUTOMATED] Preserve loaded bytes in declared array members by @thotypous in #1226
  • [AUTOMATED] Preserve floating call results in declared word storage by @thotypous in #1231
  • [AUTOMATED] Add lazyfuncs: commit discovered entries as names, materialize on read by @TsingShui in #1240
  • [AUTOMATED] Preserve word bits through resolved union members by @thotypous in #1244
  • [AUTOMATED] Preserve member representations in byte-copy helpers by @thotypous in #1247
  • [AUTOMATED] Cast pointer values assigned to integer frame members by @thotypous in #1241
  • [AUTOMATED] Reconcile pointer slots with integer CAST results by @thotypous in #1249
  • [AUTOMATED] Preserve NaN quieting through floating conversions by @thotypous in #1250
  • [AUTOMATED] Reuse the canonical entry list across name lookups by @mgostIH in #1256
  • [AUTOMATED] Keep global stores without complete SSA effect coverage by @thotypous in #1253
  • [AUTOMATED] Refine SPARC integer register pairs moved whole by @thotypous in #1251
  • [AUTOMATED] Preserve indexed integer stack storage across word views by @thotypous in #1254

Full Changelog: v1.979...v1.980