Highlights

IDA Qt based GUI The long awaited GUI interface for Linux and Mac OS X platforms is ready! We tried to make it as close as possible to the existing MS Windows GUI. Daniel Pistelli, who was responsible for the task, accomplished it brilliantly. The new interface turned out to be so faster and nicer that we plan to drop the old interface after a short transition period. The IDA v6.0 will ship with both oldand new. Some screenshots are a must, click on them to enlarge:Also the decompiler runs natively on other platforms as well. Linux/Mac fans will certainly appreciate the new version 😉

As usual, the new version is free for all users with active support plans.

Changelist

Processor Modules

6812: support an alternative memory layout for paged segments which allows to use short offsets inside the segment

ARM: added a switch pattern that uses BX to jump to case labels

ARM: display the optional operand of the MRC/MCR instructions, as preferred by the ARM documentation

ARM: support another variation of GCC Thumb-2 switches

PPC: added SPE (Signal Processing Engine) instructions, including floating-point and vector FP

PPC: trace stack pointer for 64-bit code

SuperH: added SH-4a instructions

SuperH: display immediates loaded from literal pool in the instruction itself

SuperH: trace stack pointer and create stack variables

TMS320C54x: added register definitions for TI Calypso chipset (thanks to Sylvain Munaut)

TMS320C54x: better handling of multi-section files (thanks to Sylvain Munaut)

TMS320C54x: better handling of multi-section files (thanks to Sylvain Munaut)

File Formats

Added loader for HP-UX core files (non-ELF), provided by Avi Cohen Stuart

ELF: added support for more IA64 relocations

LE: added support for bound DOS/4G executables

Kernel

kernel: improved database loading and saving times (new crc32 algorithm)

Configurable plugins can specify which platform they can operate on in plugins.cfg

demangler: demangle GCC local names (_ZLxxx)

FLIRT: added parser for Mach-O object files (pmacho)

‘volatile’ keyword is automatically removed from function return types

Scripts & SDK

IDAPython: added auto completion support

IDC: added ItemHead()

IDC: added Exec() to execute IDC statement(s)

SDK: added idb events for segment name/class modifications

SDK: get_many_bytes_ex() to retrieve bytes and information about initialized and unitialized bytes from the database

User Interface

it is now possible to jump to a structure cross-reference (default hotkey: Ctrl-X in the structures window)

Added “Save to file” to save the trace window contents

added a checkbox for sparse segments to the ‘create segment’ dialog box

multiple segments can be selected and moved using the segments window

Debugger

debugger: added support for virtual modules (user-defined modules can be added from api)

debugger: non-integer register values can be displayed as hints

Bugfixes