Ghidra   Releases

Version Link SHA-256 Notes Date
9.0.4 ghidra_9.0.4_PUBLIC_20190516.zip a50d0cd475d9377332811eeae66e94bdc9e7d88e58477c527e9c6b78caec18bf Notes 2019-05-16
9.0.2 ghidra_9.0.2_PUBLIC_20190403.zip 10ffd65c266e9f5b631c8ed96786c41ef30e2de939c3c42770573bb3548f8e9f Notes 2019-04-03
9.0.1 ghidra_9.0.1_PUBLIC_20190325.zip 58ffa488e6dc57e2c023670c1dfac0469bdb6f4e7da98f70610d9f561b65c774 Notes 2019-03-25
9.0 ghidra_9.0_PUBLIC_20190228.zip 3b65d29024b9decdbb1148b12fe87bcb7f3a6a56ff38475f5dc9dd1cfc7fd6b2 Notes 2019-02-28

Change Log

Ghidra v9.0.4 (May 2019)

New Feature

  • GUI. Function tags are now viewable by function.

Improvements

  • Decompiler. Improved modeling of CFG on Windows 10. (Issue #340)
  • Patcher. Renamed patch directory to /Ghidra/patch and added README.txt that explains how the patch directory is used.
  • Search. Updated the Decompiler Data Type Finder to find references to inside of nested array access in a line of Decompiler C output. (Issue #416)
  • Sleigh. Improved error reporting for SLEIGH compiler. (Issue #364)

Bugs

  • Analysis. Code that checks for thunks no longer throws an exception if the PC is not set for the processor.
  • Analysis. Made a fix to enable Apply button when changing tool options. (Issue #40)
  • Data Types. Fixed concurrent modification exception when replacing one datatype for another that results in some other datatype being renamed.
  • Decompiler. Fixed dynamic variables and equates in 16-bit x86 programs. (Issue #336)
  • Decompiler:Java. Fixed DEX decompilation regression issue. (Issue #350)
  • Eclipse Integration. Fixed exception in Eclipse GhidraDev plugin that occurred when performing certain actions on a Ghidra project that was imported from a previously exported Archive File. (Issues #283, #383)
  • GUI. Improved documentation on how to deal with HiDPI monitor issues in Linux. In the <ghidra_installation>/support/launch.properties file, change VMARGS=-Dsun.java2d.xrender from false to true.
  • GUI. Restored the default 'p' key binding for creating pointers within the listing display.
  • Importer. Fixed an exception that occurred when batch importing APK files. (Issue #426)
  • Languages. The 6502 Zero page indexed addressing has been corrected to only access the Zero page. (Issue #201)
  • Languages. The 68000 BCD arithmetic instructions now have pcode semantics that allow disassembly to continue. (Issue #227)
  • Multi-User:Ghidra Server. Restored ability to execute svrAdmin script in development mode.
  • Multi-User:Ghidra Server. Corrected severe script error in svrAdmin.bat introduced with 9.0.3 build.
  • GUI. Restored the default 'p' key binding for creating pointers within the listing display.
  • Search. Fixed NullPointerException in Decompiler Data Type Reference Finder. (Issue #407)

Ghidra v9.0.2 (April 2019)

Bugs

  • Analysis. Constant reference analysis boundary controls for speculative references has been fixed. Speculative references are references created from computed constants passed as parameters, stored to a location, or from indexed offsets from a register. (Issue #228)
  • Decompiler. Fixed rendering bug in the Decompiler when the "Find" dialog is closed. (Issue #282)
  • Decompiler. Fixed decompiler handling of Function Definition data types. (Issue #247)
  • Decompiler. Fixed "Free Varnode" exception in RuleConditionalMove. (Issue #294)
  • Diff. Fixed exceptions that can occur in the Diff View for programs with overlays.
  • Documentation. Corrected the spelling of "listener" throughout the source code. (Issue #235)
  • Exporter. Exporting a selection as Intel Hex will now allow a selection of any length. Previously this was restricted to multiples of 16 bytes. (Issue #260)
  • GUI. Fixed exception that occurs after disabling MyProgramChangesDisplayPlugin.
  • GUI. Updated the "Open Program" dialog to disallow file drop operations. (Issue #252)
  • Languages. The ARM Thumb CMP.W and LSL isntructions have been changed to correctly decode. There are still issues to work out with Unpredictable execution when Rd is the PC. (Issue #280)
  • Multi-User:Ghidra Server. Corrected bug introduced into ghidraSvr.bat which could prevent Ghidra Server startup (Issue #279)
  • Scripting. MultiInstructionMemReference script has been corrected to consider input and output registers when placing a reference on an instruction.

Security

  • Basic Infrastructure. Added a property to support/launch.properties to prevent log4j from using jansi.dll on Windows. (Issue #286)

Ghidra v9.0.1 (March 2019)

New Features

  • Scripting. Created a script to show all equates within the current selection. (Issue #111)

Improvements

  • Basic Infrastructure. Updated commons-compress library to version 1.18. (Issue #171)
  • Eclipse Integration. Ghidra now connects to the Eclipse GhidraDev plugin on 127.0.0.1 rather than localhost.
  • GUI. Turned on font anti-aliasing by default for Linux. (Issue #212)
  • GUI. Fixed Options Dialog slow scrolling speed. (Issue #27)
  • Importer:ELF. Corrected bug in ELF loader which can improperly process the GOT, PLT and relocations when multiple symbol tables exist within the ELF binary. (Issue #52)
  • Languages. Added ARM/Thumb SRS instruction decodes for undefined modes. (Issue #216)
  • Multi-User:Ghidra Server. Corrected the Ghidra Server service wrapper (YAJSW) configuration for Mac OS X to prevent a startup timeout condition which could occur.

Bugs

  • API. Fixed equals method on Varnode class. (Issue #97)
  • API. Fixed a bug in MaskImpl.complementMask(). (Issue #187)
  • Basic Infrastructure. Fixed special character handling in idaxml.py. (Issue #75)
  • Basic Infrastructure. Ghidra now forces the locale to en_US by default. Only the en_US is currently supported. This fixes certain unexpected exceptions. (Issue #209)
  • Diff. Fixed exceptions occasionally encountered when starting a Diff session. (Issue #211)
  • Documentation. Fixed javadoc search box redirecting to broken links. (Issue #129)
  • Function Graph. Fixed Function Graph exception when generating tooltip. (Issue #65)
  • GUI. Updated window placement to keep windows on screen. (Issue #41)
  • GUI. Add/Edit References dialog now restricts users to creating refs in valid memory address spaces.
  • GUI. Fixed exception when exiting Ghidra while a table is being edited. (Issue #51)
  • GUI. Fixed some touchpad scrolling issues. (Issue #2)
  • GUI. Fixed stack trace in the Data Type Manager's tooltip generation. (Issue #133)
  • GUI. User key binding settings for the Recently Used and Define Pointer actions no longer lost after re-launching tool. (Issue #152)
  • GUI. Toolbar buttons now respond to fast clicking.
  • Importer:MachO. The MachOLoader can now find import libraries found in Universal Binary files. (Issue #136)
  • Importer:PE. The PeLoader now correctly parses the GuardCFFunctionTable when entries are more than 4 bytes each. (Issue #220)
  • Languages. Added missing PowerPC VLE conditional branch instructions: e_bdnz and e_bdz. (Issue #103)
  • Languages. Fixed instruction semantics for several instructions and added Control Flow Enforcement, NOP variants, CMP variants, UD1, and prefixed call instructions to X86 processor specification. (Issues #22, #53, #158, #157)
  • Languages. The 68000 MOVE instruction now correctly sets the CF and VF flags. (Issue #163)
  • Languages. Added four missing MOVEM instruction variants to the 68000 processor. (Issue #219)
  • Languages. An incorrect usage of X instead of Y in indexed mode for the 6502 has been corrected.(Issue #201)
  • Languages. Added support for ARM Thumb half BL instruction on processor variants prior to v6. (Issue #39)
  • Multi-User:Ghidra Server. Removed support for native OS authentication from Ghidra Server (removed modes -a2 and -a3) due to incompatibility with newer OS releases including Windows 10 and Windows Server 2016. Re-introduction of this will be considered for a future release.
  • PDB. Corrected NPE error when processing PDB files. (Issues #138, #188)
  • Scripting. Fixed a bug in ImportSymbolsScript.py that prevented it from running. (Issue #170)

Security

  • Basic Infrastructure. Running Ghidra in debug mode no longer opens remotely accessible ports by default. (Issue #6)
  • GUI. The Defined Strings plugin no longer renders HTML in its table. (Issue #45)
  • Project Manager. Fixed an XXE vulnerability affecting projects and many other saved components. (Issue #71)

Ghidra v9.0

Initial Release