Ghidra v9.0.2 (April 2019)
- 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.
- 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)
- Scripting. Created a script to show all equates within the current selection. (Issue #111)
- 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.
- 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)
- 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)