如何确定ARM功能是用拇指写的

时间:2014-12-17 12:56:12

标签: assembly arm self-modifying

我正在编写用于修补ARM函数序言的钩子代码。由于ARM可以在两种模式下运行,因此Hooker必须选择正确的操作码(拇指与否)来修补序言。

如何确定修补目标是使用拇指还是32位ARM指令?

1 个答案:

答案 0 :(得分:0)

就我而言,我在linux内核中工作。在查找kprobe()代码后,我发现了CONFIG_THUMB2_KERNEL宏。

由于它不是通用解决方案,我可以用该宏来解决我的问题,以便在编译时决定操作码补丁。