IDA加載未知加載地址的固件,先加載到0地址,然後全部分析
方法1:通過swtich語句的jumptable定位基地址
以jumptable作爲關鍵字尋找到任意jumptable,table中的地址都是絕對地址,減去代碼中的偏移就是基地址了。最常見的是default case,比如下圖:
方法2:F5後通過JUMPOUT語句定位基地址,例如
方法3:通過LDR XX, = 語句猜測,例如
LDR R0, =0x403102EC
LDR PC, =xxxxxxxxxx
IDA加載未知加載地址的固件,先加載到0地址,然後全部分析
方法1:通過swtich語句的jumptable定位基地址
以jumptable作爲關鍵字尋找到任意jumptable,table中的地址都是絕對地址,減去代碼中的偏移就是基地址了。最常見的是default case,比如下圖:
方法2:F5後通過JUMPOUT語句定位基地址,例如
方法3:通過LDR XX, = 語句猜測,例如
LDR R0, =0x403102EC
LDR PC, =xxxxxxxxxx
def ADD(a): print(3,a,hex(id(a))) a.remove(2) print(3,a,hex(id(a))) a=a.append(10)