Interactive Disassembler
Pro Enumerated Types Tutorial
You can use IDA Pro to interactively
define and manipulate enumerated types in the disassembly. Consider this simple
sample C program:
enum color_t {
BLACK, /* dark colors */
BLUE,
GREEN,
CYAN,
RED,
MAGENTA,
BROWN,
LIGHTGRAY,
DARKGRAY, /* light colors */
LIGHTBLUE,
LIGHTGREEN,
LIGHTCYAN,
LIGHTRED,
LIGHTMAGENTA,
YELLOW,
WHITE
};
enum day_t { MONDAY, TUESDAY, WEDNESDAY, THUSDAY, FRIDAY, SATURDAY, SUNDAY };
enum bool_t { FALSE, TRUE };
int is_suitable_color(day_t day,color_t color) {
if ( (day == SUNDAY || day == SATURDAY) && color == RED ) return TRUE;
if ( color == BLACK || color == BLUE ) return TRUE;
return FALSE;
}
In order to use meaningful names instead of numbers, we open the enums window and press insert to define a new enumerated type.