IDA: What's new in 6.5

ARM64 (aka AArch64) support

In September 2013 Apple released iPhone 5s with the A7 processor which supports the newest, 64-bit variant of the ARM instruction set. We are happy to announce that IDA 6.5 fully supports disassembly of ARM64 code and can load iOS 7 Mach-O binaries out of the box. The Objective-C metadata, if present, is also parsed and applied.

As usual, stack variables are created for you. We also perform limited register tracking and add cross-references so that it is easier to see, for example, what string values are loaded into registers.

Similar to x64 code, ARM64 allows you to access parts of the same register using different names (for example, W0 is the low 32 bits of the 64-bit register X0). We have implemented highlighting for ARM64 registers and in the screenshot above you can see how V11 is highlighted together with D11. This saves time when looking at complicated function, since ARM64 has 32 general-purpose and 32 SIMD registers to use.

Note: ARM64 decompilation is not available at this moment.

Rendering quality and speed improvements

We have made substantial improvements in rendering of the disassembly, both in text and graph view. You should see faster and better quality rendering. HiDPI (Retina) displays are fully supported on OS X.

Here's old IDA 6.4 on Retina display (zoomed graph view):

And the same in new IDA 6.5:

Database format improvements

The dreaded "Maximum number of chunks reached" message is gone. The database files can now be greater than two gigabytes, so the possible address space is limited only by the available disk space. Many other limits have been raised so now you can load huge files into IDA.

Type system

The type system has been redesigned and improved. Most of the changes are only visible to plugin writers, but users will notice:

UI improvements

Many small but useful features have been added or improved. Here's just a few:

Complete changelist

Fixes published on 2014-01-16