如何找出blx分支到[重复]的位置

问题描述 投票:-2回答:1

这个问题在这里已有答案:

所以我有这个指令: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
1个回答
0
投票

blx r3设置PC = R3

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

因此R3指向的内存中的字节被提取为代码。

© www.soinside.com 2019 - 2024. All rights reserved.