State-of-the-art binary code analysis tools

With every IDA release, we publish detailed release notes describing various new features, improvements and bugfixes. While some of the additions are highlighted and therefore quite visible, others are not so obvious and may require careful reading. Having a closer look at these release notes, you will be surprised to see many small but useful features added through different IDA versions.

A couple of good examples can be:

Register definition and use

Added in IDA 7.5, these actions allow you to quickly jump between various uses of a register.

• UI: added actions to search for register definition or register use (Shift+Alt+Up, Shift+Alt+Down)

ShiftAltUp: find the previous location where the selected register is defined (written to).

ShiftAltDown: find the next location where the selected register is used (read from or partially overwritten).

These actions are especially useful in big functions compiled with high optimization level where the distance between definition and use can be quite big so tracking registers visually using standard highlight is not always feasible.

In the above screenshot, you can see that AltUp jumps to the closest highlight substring match while ShiftAltUp finds where rbx was changed (ebx is the low part of rbx so the xor instruction changes rbx).

These actions are currently implemented for a limited number of processors (x86/x64, ARM, MIPS), but may be extended to others if we get more requests.

Jump to previous or next function

+ ui: added shortcuts Ctrl+Shift+Up/Ctrl+Shift+Down to jump to the start of the previous/next function

Added in IDA 7.2, these are minor but very useful shortcuts, especially in large binaries with many big functions.

By the way, if standard shortcuts are tricky to use, you can always set custom ones using a key combination you prefer.

You might also be interested in: