Jump tables
Hex-Rays (hexrays) <infohex-rayscom> Thursday, January 31 2008 10:21.45 CST


It is an endless story: regardless of how many different jump table types IDA supports, there will be a new unhandled twist. Be it the instruction scheduler, which rearranged the instructions in an unexpected manner, or the compiler, which learned a new optimization trick, it is the same for IDA: jump tables are missed and functions boundaries are wrong. Whats worse, the graph view, so loved by IDA users, displays a trimmed graph without jump tables, virtually useless for any analysis.


Thats why we strive to add support for new jump tables to IDA, and since it can not be done for all of them, we focus on compiler generated jump tables for popular processors. Take ARM, for example. The ARM processor module have been improved a lot in v5.2, but yet we received a report with a bunch of new patterns. So expect even better support for ARM in the near future :)


If you are interested in improving the jump table handling for a rarely used processor, here are the explanations how to do it.

Comments
Posted: Wednesday, December 31 1969 18:00.00 CST