标签:
ARM Cortex M3指令集
在arm中hook我们需要用到 bl 这个转移指令 .
其效果和x86中的 call 有点类似.
下面来说说arm bcc的公式.(自己多次尝试总结的,如果有不对的地方希望大家能指点一下.)
计算opcode:
(dst - src) / 4 - 2 = opcode
计算dst:
src + (opcode + 2) * 4 = dst
不明看例:)
ROM:9D039D3C 108 1C 00 00 1A BNE loc_9D039DB4 ; Branch (9D039DB4 - 9D039D3C) / 4 - 2 = 1c 9D039D3C + (1c + 2) * 4 = 9D039DB4 ROM:9D039D90 108 07 00 00 EA B loc_9D039DB4 ; Branch (9D039DB4 - 9D039D90) / 4 - 2 = 7 9D039D90 + (7 + 2) * 4 = 9D039DB4
标签:
原文地址:http://www.cnblogs.com/dependence/p/4275690.html