Back

IDA 9.2 Release: Golang Improvements, New UI Widgets, Types Parsing and More

IDA 9.2 Release: Golang Improvements, New UI Widgets, Types Parsing and More

Over the past few months, we’ve given you sneak peeks into some of the new capabilities coming to IDA 9.2. Now it’s time to bring them all together (with unannounced features as well) in the official launch.

This release features more useful output when decompiling Golang binaries, dozens of user interface and workflow refinements, a new type parser based on LLVM’s LibTooling, a refresh of the disassemblers for the v850/rh850 and TriCore microcontrollers, the usual additions of instruction set extensions, and countless quality-of-life improvements.

Below is a summary of the key features, and here is the link to the 9.2 release notes.

Smarter Analysis Across Architectures

IDA 9.2 extends support for a wide range of processors and instruction sets, making embedded and hardware analysis more powerful.

  • Improved switch detection for RISC-V and ARM, as well as improved stack pointer tracking for ARM. Read the full blog here.
  • Expanded TriCore chipset coverage (tc1x - tc4x), support for recently introduced tc4x (TC1.8) instructions, support for registers with global, user-specifiable values. Read the full blog here.
  • More macro instructions for v850/rh850, better handling of relocatable objects for creating FLIRT signatures, support for registers with global, user-specifiable values.
  • Support 32-bit SIMD instructions of TMS320 C6 Series.

Clearer, More Accurate Decompilation

Decompiler improvements help you work faster with Go, Windows binaries, and cross-references.

  • Tuple types for Golang multi-value returns, producing much cleaner output. Read the full blog here.
  • New action: “Show all xref decompilations”, for code and data references inside the decompiler.

Insights Into the Decompiler Pipeline

For the first time, IDA opens a window into the Decompiler’s internals. Read the full blog here.

  • New Microcode Viewer reveals the intermediate representation (Hex-Rays Microcode).
  • Inspect transformations at every stage.
  • Build advanced custom plugins with deeper insight.

Debugger Enhancements

The debugger now offers richer context and more reliable call stacks. Read the full blog here.

  • Redesigned Register Subview with automatic pointer dereferencing and color coding for memory types.
  • More accurate call stack reconstruction for x64 PE binaries.

Productivity & UI Improvements

We’ve smoothed out day-to-day workflows with a range of quality-of-life updates:

  • Jump Anywhere is a new dialog created to simplify quick jumps to locations anywhere in the IDB. 
  • Unified Location History enables a history stack across multiple widgets. Remember how hitting ESC after jumping from the decompiler to some data item in the disassembler wouldn’t bring you back to the decompiler? That behavior is remedied. If you don’t like it, the new history sharing can disabled globally.
  • New Dynamic Xref Graph widget that gives a graphical representation of inter-function relationships (code and data). Replaces the static qwingraph charts with an interactive, OpenGL accelerated version of the same functionality. Read the full blog here.
  • New Xref Tree widget that gives a textual representation of inter-function relationships (code and data). It unifies the now-legacy Function Calls and Cross References subviews.
  • The ones among you who regularly fire up IDAs during presentations will be delighted to hear that the common Ctrl-+/Ctrl-- shortcuts to increase/decrease font size now work in IDA.
  • The type editor under Local Types now supports tab completion.
  • Qt6 brings much more stable support for Wayland Linux Desktops.

Under the Hood

  • As of this release, IDA is relying on Qt6 for its UI. For plugin authors with UI components this implies (a very limited amount of) porting work. In the meantime, we provided some shims that expose a limited amount of the now-legacy Qt5 API to Plugins using Qt6.
  • The Type Parsers inside and outside of IDA have been unified and now rely on LLVM’s LibTooling. The benefits of this simplification will start to show in upcoming releases, so stay tuned.
We also tackled a handful of bug fixes and threw in a few other improvements. Read the release notes for all the details.

But wait, there's more...

_____________________________________________________________________________

Keep us in the loop!

  • If you see something, say something. You can report bugs here: https://support.hex-rays.com
  • Have ideas on how we can improve IDA? We want to know! Send us a note with your feedback directly to product@hex-rays.com, or post it on Discourse.