标签: 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。
如何确定指令的分支位置?
答案 0 :(得分:0)
blx r3设置PC = R3
blx r3
除了它是一个奇数地址外,这意味着转移到Thumb状态并实际设置PC = R3 & ~1。 (即清除低位并将其用作地址)
PC = R3 & ~1
因此,将R3指向的内存中的字节作为代码获取。