IDA: What’s new in 7.5sp1

This service pack contains enhancements and fixes to the 7.5 version, in particular thanks to valuable feedback from IDA users. IDA 7.5 SP1 is designed to improve user experience especially for newly released features such as the tree-like folder view function and the MIPS decompiler.

Complete changelist:

Decompilers:

  • MIPS: added support of indexed instructions such as ‘luxc1’ or ‘lwxs’
  • MIPS: improve decompilation of references to MIPS16/microMIPS functions
  • MIPS: improve decompilation of MIPS16 position-independent code
  • MIPS: improve recognition of arguments passed to function calls

IDAPython:

  • added Anaconda 2020.02 to the list of ignored Python installs on Windows to prevent silent exits

Installer:

  • desktop shortcuts now include the IDA version, so the uninstaller won’t delete shortcuts of a different version

UI:

  • it is now possible to expand/collapse multiple folders at once, using Ctrl+Numpad+/Ctrl+Numpad-

ELF:

  • handle files with MIPS16 or microMIPS code at the entry point

Kernel:

  • better detection of MIPS16 code in the main() function

Bugfixes:

  • decompiler could crash with division overflow when optimizing some expressions
  • decompiler could hang due to an endless loop
  • decompiler could produce an error on unrecognized Thumb or microMIPS switches
  • decompiler could produce an error when restoring cached microcode from the database
  • decompiler: shifted pointers with negative offsets were not always applicable
  • huge functions could cause simplex algorithm failure
  • IDA could crash at the end of debugging if certain manipulations were performed on functions while folders were enabled in Functions list
  • IDA could produce internal error 1237 when importing certain type from DWARF or PDB debug info
  • IDA Home could incorrectly impose 1MB limitation on input files (when multiple IDA Home licenses were purchased)
  • IDA Home for PPC would display a warning due to missing xml files for GDB debugger
  • IDAPython: using ida_kernwin.set_nav_colorizer() could cause IDA to crash at the exit-time
  • macho: loader could fail to pick the correct SDK til in some cases
  • macho: rebasing a dyldcache idb could break the analysis because relocations were not applied to pointers in the slide info
  • DSCU: rebasing a dyldcache database would break the dscu plugin
  • MIPS: ‘search for register access’ could cause IDA to hang
  • objc plugin could trigger “invalid cref” warning during decompilation
  • objc plugin could fail to create structures in the database after a rebase operation.
  • objc analysis could fail due to arm64e tagged pointers.
  • PPC: e_ori. with the condition record bit was wrongly simplified to e_nop
  • SDK: IDAPython 7.5 could fail to build from source
  • UI: calling delete_menu() could cause IDA to crash at the exit-time
  • UI: in “Structures” and “Enums”, creating a new type when the tree selection is not a folder, would create the type at the toplevel instead of in the folder in which the current selection is set
  • UI: in folders view, triggering a rename, but not actually renaming (by e.g., leaving the name untouched, or clicking somewhere else), would cause an annoying message in the “Output window”
  • UI: in the “Structures” or “Enums” widget, jumping to a structure or enum that’s currently not selected, could either fail, or cause the companion folder tree to be out-of-sync
  • UI: in the “Structures” or “Enums” widget, selecting a folder containing items, and deleting that folder, wouldn’t properly update the listing contents
  • UI: In the “Structures” or “Enums” widget, the listing could be missing types after an undo operation
  • UI: incremental search (i.e., typing beginning of a string) in tabular/tree views would select wrong rows
  • UI: rebasing (manual or during debugging) could cause IDA to show empty entries in views with enabled folders
  • UI: sorting folders would only sort folders contents, but not the folders themselves
  • UI: the “Current line” message could fail to display in some views, when folders were enabled
  • UI: “undo” wouldn’t cause previously-rebased ‘Imports’ to get their original address back
  • UI: when folders are enabled in tabular views, ‘Copy/Copy all’ could fail to work as expected
  • undoing after rebase could cause empty entries to appear in the name list