Igor’s tip of the week #29: Color up your IDA

For better readability, IDA highlights various parts of the disassembly listing using different colors; however these are not set in stone and you can modify most of them to suit your taste or situation. Let’s have a look at the different options available for changing colors in IDA.

Themes

In case you are not aware, IDA supports changing the color scheme used for the UI (windows, controls, views and listings). The default theme uses light background but there are also two dark themes available. You can change the theme used via Options > Colors… (“Current theme” selector). Each theme then can be customized further by editing the colors in the tabs below. In the Disassembly tab, you can either select items from the dropdown, or click on them in the listing, then change the color by clicking the corresponding button.

If you prefer editing color values directly, you can update many of them at once or even create a complete custom theme by following the directions on the “CSS-based styling” page.

 

Coloring items

In addition to changing the whole theme or colors of individual listing components, you can also color whole lines (instructions or data) in the disassembly. This can be done using the menu Edit  > Other  > Color instruction… 

This command changes the background of the lines assigned to the current address (you can also select several lines to color them all together).

 

Coloring graph nodes

In the Graph View, you can color whole nodes (basic blocks) by clicking the first icon (Set node color) in the node’s header.

After choosing the color, all instructions in the block will be colored and it will also be shown with the corresponding color in the graph overview.

Coloring functions

Instead of (or in addition to) marking up single instructions or basic blocks you can also color whole functions. This can be done in the Edit Function (Alt+P) dialog by clicking the corresponding button.

Changing the color of a function colors all instructions contained in it (except those colored individually), as well as its entry in the Functions list.