IDA graph mode

The new IDA Pro introduces the graph mode. The disassembly of the current function is displayed as a graph: each basic block is represented as a node and cross references are represented as edges. It is easy to zoom, move, and modify the graph using the mouse, I’m sure you will just use the new interface without much difficulty. However, there are some unexpected commands which may render your life easier.
For example, the keyboard arrows can be used to move around the graph. This is something expected. But if you hold the Ctrl arrow and press the Up or Down keys, IDA will display the list of all predecessors or successors of the current node.
Double clicking on an edge with the Ctrl key pressed will jump to its destination. Alt will jump to its source.
Pressing ’5′ on the keypad will center the current node. If you prefer to use the mouse, try to click with the mouse wheel on a node – the clicked node will be centered.
There are many tricks like this. All this is described in minute detail in the help. It won’t take long to read the graph-related pages and you will become really fast and comfortable with the graph view. I urge you to spend some 10-15 minutes reading it and playing with graphs.
IDA has more graph layout algorithms than you might think. See some of them in Dennis’ blog. You can create your own layouts too (and even your own graphs of absolutely anything). Just take a look at the sample plugin in the SDK.

This entry was posted in IDA Pro. Bookmark the permalink.

2 Responses to IDA graph mode

  1. Brett Tofel says:

    How would one go about using the SDK’s set_node_info, to change the color of some basic block in the graph?

  2. Ilfak Guilfanov says:

    Well, in a straightfoward manner. The only trick is to redraw the graph after it. Feel free to post your question to the R&R board on Datarescue’s forum, it is more appropriate there.