Skip to content

Releases: nneonneo/ghidra-wasm-plugin

Version 2.3.1

10 Jun 07:28
Compare
Choose a tag to compare

Version 2.3.1 of the WebAssembly plugin for Ghidra.

This new version of the plugin supports Ghidra 11.1; this is the only change since 2.3.0.

Version 2.3.0

24 Jan 03:41
Compare
Choose a tag to compare

Version 2.3.0 of the WebAssembly plugin for Ghidra.

This new version of the plugin supports Ghidra 11+. Support for 10.x has been dropped; use an older plugin version if you need support for earlier versions of Ghidra.

What's Changed

  • Refactored and expanded SIMD support
  • Many, many improvements to more closely adhere to the WASM spec
  • Fix crash when analyzing a select after a br
  • Fix build with Ghidra 11.0 by @kristoff3r in #17

Full Changelog: v2.2.0...v2.3.0

Version 2.2.0

04 Aug 23:41
Compare
Choose a tag to compare

Version 2.2.0 of the WebAssembly plugin for Ghidra.

This new minor version of the plugin supports Ghidra 10.3+. Support for 10.2.x has been dropped; use v2.1.0 or v2.0.0 if you need support for earlier versions.

New changes:

  • add a new script, rename_table_funcs.py, to help rename functions based on their position in the table (useful if function pointers are just indices into the table)
  • fix correctness issues with f32.convert_* and f64.convert_*
  • fix disassembly of certain SIMD ops: i8x16.shuffle, *.extract_lane_*, *.replace_lane, v128.load64_*, v128.store64_*

Install the appropriate version of the plugin as an extension using File -> Install Extensions, selecting the + icon, and selecting the zip file. This plugin is backwards-compatible with v2.x.

Full Changelog: v2.1.0...v2.2.0

Version 2.1.0

23 Nov 23:08
Compare
Choose a tag to compare

Version 2.1.0 of the WebAssembly plugin for Ghidra.

This new minor version of the plugin supports Ghidra 10.2+. Support for 10.1.x has been dropped; use v2.0.0 if you need support for those versions.

New changes:

  • pos-stack compiler specification has been fixed and should load correctly in 10.2
  • DWARF type import (#7, by cmorin6)
  • Support for Ghidra 10.2.2 (#13, by kristoff3r)
  • Experimental stack variable analyzer, which creates variables on the C stack by analyzing opcode and instruction flow.

Install the appropriate version of the plugin as an extension using File -> Install Extensions, selecting the + icon, and selecting the zip file. This plugin is backwards-compatible with v2.0.0.

Version 2.0.0

20 Apr 19:06
Compare
Choose a tag to compare

Version 2.0.0 of the WebAssembly plugin for Ghidra.

This new major version of the plugin synchronizes to the code submitted upstream to Ghidra: NationalSecurityAgency/ghidra#4103. Several major changes have been applied which necessitated a major release; per semantic versioning, some of these changes are breaking changes which will make the plugin incompatible with files loaded or analyzed by v1.x.x plugins. The goal of this release is to ensure that plugin users can seamlessly transition to the integrated WebAssembly support, if/when the upstream PR is accepted.

New changes:

  • Function locals are now included in the function body (as .locals and .local directives), as this is the definition of "function body" adopted by most tools (including DWARF).
  • Renamed "Webassembly" to "WebAssembly" (correct casing).
  • Changed funcref and externref to be 32 bit values instead of 64 bit values.
  • P-Code emulation support, allowing Ghidra's built-in emulator to emulate Wasm code.
  • SIMD support (#4). All SIMD opcodes are now disassembled.

Install the appropriate version of the plugin as an extension using File -> Install Extensions, selecting the + icon, and selecting the zip file. As this is a breaking release from v1, you will need to re-import any Wasm programs after upgrading the plugin.

Version 1.0.1

17 Nov 07:07
Compare
Choose a tag to compare

Version 1.0.1 of the new Wasm plugin for Ghidra.

New changes:

  • Apply global names defined in .name section
  • Automatically detect the C stack global
  • Create import/export functions symbols
  • Support for Ghidra 10.0.4 and 10.1

Install the appropriate version of the plugin as an extension using File -> Install Extensions, selecting the + icon, and selecting the zip file.

Version 1.0.0

27 Sep 12:48
Compare
Choose a tag to compare

Version 1.0.0 of the new Wasm plugin for Ghidra.

Features include C stack support, support for all standardized WebAssembly 1.0 opcodes, loading of data segments and element segments, and function call/branch cross-references. See the README for more tips on optimizing your Wasm reversing experience.