【发布时间】:2019-09-19 11:32:10
【问题描述】:
所以我有这个指令:blx r3。
通过调试发现r3地址为0xe2fcd839,r3包含e9 f0 4f 89 b0 0d 46 ce 49 00 2d 79 44 09 68 09。
我怎样才能知道指令分支到哪里?
【问题讨论】:
-
r3 是 32 位,你是怎么把 128 位放进去的?
标签: 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。
我怎样才能知道指令分支到哪里?
【问题讨论】:
标签: assembly arm reverse-engineering
blx r3 设置 PC = R3
除非它是一个奇数地址,这意味着转移到 Thumb 状态并实际设置PC = R3 & ~1。 (即清除低位并将其用作地址)
因此R3指向的内存中的字节被作为代码获取。
【讨论】: