IDA 5.2
Highlights
Improved iPhone support
IDA 5.2 handles iPhone executables out of the box.
Much improved ARM and PowerPC support
The updated ARM module supports 200 new instructions. This module started with mere 38 instructions: the ARM was a small and sleek processor; now it boasts 3 different instruction encodings [arm, thumb, thumb32], dsp, floating point, vector, simd, and even java instructions!
Much improved PowerPC module
The PowerPC module has ~40 new instructions.\
Easy debugger scripts in IDC
The debugger is finally available from IDC. There is no need to write complex plugins, install event handlers and express the logic in a finite state machine form. Simple and natural functions that allow to wait for the next debugger event and continue the script without yielding control to the ida kernel have been introduced.
Improved type support
The type system has been improved to support types of abitrary length and complexity (there was a limitation of 1024 bytes per type descriptor). The user interface offers a new window to display and manipulate local types. This allows for easy migration of types from one database to another. You can even export all local types in a compiler readable form!
Detailed list of changes\
Changelist
Processor Modules
6811: the output is more conforming to Motorola freeware assemblers (thanks for Alex Bratovic)
68xx: CodeWarrior and GNU output support have been added by Alex Bratovic
ARM: add/sub instructions are better emulated
ARM: added bxj insn (Igor Skochinsky)
ARM: added one more switch pattern (Igor Skochnisky)
ARM: added RealView v3.1 low-endian signatures
ARM: added recognition of rt_switch8() function (Igor Skochinsky)
ARM: added support for v6ZK instructions
ARM: added support for VFP (vector floating point) instructions
ARM: added thumb32 encodings and v7 instructions
ARM: analysis of some pc-relative addressing modes has been improved (notable difference for iphone executables)
ARM: armv6 instructions are supported
ARM: better propagation of thumb-bit; more glue code patterns are recognized
ARM: better recognition of thunk functions and flow detection
ARM: better register tracking in the thumb mode
ARM: BX LR is considered as a return instruction
ARM: more intelligent handling of immediate values in instructions; they are converted to offsets only in the second analysis pass and only if the kernel option permits it
ARM: more jump tables are recognized