IDA 9.0sp1
IDA 9.0.20241216 (SP1) December 19, 2024
This Service Pack of IDA 9.0 focuses on bugfixes, along with IDAPython API and SDK enhancements, introducing new, simplified endpoints. You can download the latest IDA installer from My Hex-Rays portal.
IDA Feeds improvements
We streamlined the IDA Feeds plugin execution and resolved issues with loading when idalib could not be located or was not correctly installed. Last but not least, we delivered UI enhancements to make the plugin experience more intuitive.
See also:
Take a look at the IDA Feeds installation and configuration guide
Complete IDA Feeds changelist:
added undo/redo context menu options for standalone app
allow running the plugin without having to install and configure the idapro python module
fall back to sequential probing when rpyc module is not available
fill the already applied signatures on plugin initialization
various usability and performance improvements
IDAPython / SDK improvements
We've added several helpers to improve the user experience using our APIs. These new endpoints, among other things, streamline managing and operating on types.
In the spirit of further improving accessibility & usage of our API, we also:
updated the Porting Guide, considering recent API improvements.
prepared new examples, mostly under Working with types category.
revamped the IDAPython reference documentation to improve cross-referencing.
IDAPython / SDK changes:
added
tinfo_t
convenience constructorstinfo_t(c_decl:str)
(to parse a C type definition)tinfo_t(ordinal=N:int)
to fetch by ordinaltinfo_t(name=N:str)
to fetch by nametinfo_t(tid=N:int)
to fetch bytid_t
added
tinfo_t.add_edm
to simplify building enumerationsadded
tinfo_t.add_udm
convenience methodsadded
tinfo_t.get_udm
(either by name, or by index)added
tinfo_t.get_udm_by_offset
added
tinfo_t
iterators, for easy member manipulation:tinfo_t.iter_struct
tinfo_t.iter_union
tinfo_t.iter_udt
tinfo_t.iter_enum
added
til_t.get_named_type
andtil_t.get_numbered_type
, making it more idiomatic to retrieve types from a libraryadded
til_t.named_types
andtil_t.numbered_types
generatorsadded
udt_type_data_t.get_best_fit_member
added convenience
funcarg_t
constructorsadded convenience
udm_t
constructorsadded convenience
edm_t
constructoradded many new examples of using core API functions into
examples/types/
added
empty()
method to udt member type (udm_t
) and enum constant type (edm_t
)func_type_data_t
now defaults toCM_CC_UNKNOWN
calling conventionadded
append()
andextend()
to allqvector
-based typesadded
get_process_options2
to retrieve the list of environment variablesthe
displayhook
now uses__repr__
, and not__str__
, to print informationexpose
get_undo_action_label()
,get_redo_action_label()
expose needed functions for checking if a file is a startup signature
UI improvements
Complete UI changelist:
do not offer to apply startup signatures by default
local types: allow adding comments on gaps by creating a dummy field automatically
local types: enabled "Remove gap" action on padding bytes at the end of fixed layout struct
local types: removed "repeatable" checkbox from the comment form since all such comments are repeatable
Other improvements
installer: install
defs.h
header with decompiler helpers intoinclude/
kernel: added new parameters REGTRACK_MAX_XREFS, REGTRACK_MAX_BBLK_INSNS, REGTRACK_MAX_VALS to limit tracking in complex binaries
licensing: show the number of floating license seats available in the "License manager" dialog
lumina: improved the
lumina_server
's--recreate-schema
help text
Complete list of bugfixes:
BUGFIX: decompiler: fixed multiple interrs
BUGFIX: decompiler:
hxe_flowchart
event would have the wrong argument 'fc'BUGFIX: decompiler: in rare cases a goto label would be misplaced
BUGFIX: decompiler:
refresh_ctext()
would not refresh the function name if it was renamedBUGFIX: decompiler: split
__asm
blocks when there are interleaved instructions that have been optimized outBUGFIX: DWARF: fixed interr 2766 during debugger session
BUGFIX: eh34: make exception blocks boundaries more precise
BUGFIX: IDA Free/Home: fix misleading message when opening .idb files
BUGFIX: ida_feeds: fixed mismatch in number of matchess when probing vs applying
BUGFIX: ida_feeds: popup menu action was not displayed before running plugin once
BUGFIX: idalib: a program using the C++ idalib API could crash on Windows
BUGFIX: idalib: fixed crash when calling
open_database()
multiple times without closingBUGFIX: idalib: python activation script was not working with relative paths in Python 3.8
BUGFIX: idalib: write informational messages to the default logging location instead of the console
BUGFIX: IDAPython:
Hexrays_Hooks.collect_warnings
was not usableBUGFIX: IDAPython:
IDP_Hooks.ev_get_abi_info
was not usableBUGFIX: IDAPython:
set_process_options()
could not be used to set environment variables for debuggingBUGFIX: IDAPython: using
mop_t.make_insn
could result in a double-free, and crash IDABUGFIX: IDC: appcall could report an error instead of the function's return value
BUGFIX: IDT: fixed potential crash when parsing corrupted ids files
BUGFIX: installer: IDA Free for Linux was missing the local debugger
BUGFIX: kernel: index comments for arrays inside structures would be wrong
BUGFIX: kernel: fix stack overflow when parsing some incomplete types
BUGFIX: kernel: fixed crash when parsing an invalid .sig file format
BUGFIX: kernel: fixed crash when printing type with invalid base type
BUGFIX: kernel:
get_udm_tid()
could crash if wrong idx was passed to itBUGFIX: kernel: parsing an ill-formed type could crash IDA
BUGFIX: kernel:
tinfo_t::get_innermost_udm()
could crash with division by 0 if zero-sized members were presentBUGFIX: merge: merging of a large fixed structure whith a small one was buggy
BUGFIX: PC: disabling "Locate and create jump tables" analysis option was not honored by the processor module
BUGFIX: PyQt5: IDA could crash or exit with iterr 1442 when using PyQt5 on Linux with Python 3.12
BUGFIX: teams: vault_server could crash at the initialization or login time if it failed to open the sqlite database
BUGFIX: UI: .wasm files were not listed in the "Open file" dialog by default
BUGFIX: UI: IDA could fail to rename stack frame members from the disasembly view
BUGFIX: UI: it was not possible to select the first line in hex view if it did't start on 16-alined address
BUGFIX: UI: Local Types: do not apply filtering and ordering of the types chooser (the left pane) to the listing (the right pane) when "Show selection only" is off
BUGFIX: UI: opening IDA without an IDB or a license and performing a check-for-update operation, could cause INTERR 41270
BUGFIX: UI: pulling graph nodes too far up, could result in rendering glitches)
BUGFIX: UI: switching between CLI interpreters didn't work if "new shortcuts" were enabled
BUGFIX: UI: text search results in graph mode displayed labels instead of instructions
BUGFIX: WASM: fix "out of order subsection" loader error on some files
Last updated