如何找出blx的分支机构

时间:2019-04-30 18:53:34

标签: assembly arm reverse-engineering

所以我有这条指令:blx r3。

通过调试,我发现r3地址为0xe2fcd839,并且r3包含e9 f0 4f 89 b0 0d 46 ce 49 00 2d 79 44 09 68 09。

如何确定指令的分支位置?

1 个答案:

答案 0 :(得分:0)

blx r3设置PC = R3

除了它是一个奇数地址外,这意味着转移到Thumb状态并实际设置PC = R3 & ~1。 (即清除低位并将其用作地址)

因此,将R3指向的内存中的字节作为代码获取。