标签: assembly arm self-modifying
我正在编写用于修补ARM函数序言的钩子代码。由于ARM可以在两种模式下运行,因此Hooker必须选择正确的操作码(拇指与否)来修补序言。
如何确定修补目标是使用拇指还是32位ARM指令?
答案 0 :(得分:0)
就我而言,我在linux内核中工作。在查找kprobe()代码后,我发现了CONFIG_THUMB2_KERNEL宏。
由于它不是通用解决方案,我可以用该宏来解决我的问题,以便在编译时决定操作码补丁。