背景
当使用IDA逆向分析时,会遇到各种各样的无法F5反汇编的情况,例如JUMPOUT情况,本文通过各种例子讲解如何处理这种情况。
例子
以下结构是switch结构:
CMP W1, #9
B.HI loc_40CF44
ADRP X9, #word_E67E58@PAGE
ADD X9, X9, #word_E67E58@PAGEOFF
ADR X10, loc_40CA1C ; jumptable 000000000040CA18 cases 0,2
LDRH W11, [X9,X8,LSL#1]
ADD X10, X10, X11,LSL#2
BR X10
IDA解析
处理方案:
- 选中跳转寄存器(如下X11),然后IDA中打开edit --> other -> Specify switch idiom
- 按图示操作
- 根据上表进行操作之后,选中Function Window中对应的函数,之后右键点击删除函数。接着到对应地址按P创建函数。重新F5即可