如何为iPhone ARM二进制文件创建NOP指令?

时间:2009-12-09 17:25:38

标签: iphone arm

x86 / x86_64的NOP操作码是0x90,但它是带有ARM指令集的iPhone上的模拟?

3 个答案:

答案 0 :(得分:14)

MOV r0,r0传统上用于ARM代码,其代码为0xe1a00000; MOV r8,r8用于THUMB代码(操作码0x46c0)

答案 1 :(得分:10)

ARMv7有一条实际的NOP指令,带有以下编码:

    0xbf00  2 byte thumb2 form
0xf3af8000  4 byte thumb2 form
0x*320f000  4 byte arm form

在定位早期版本的架构时,汇编程序会将NOP转换为列出 moonshadow 的MOV说明。

您不需要使用实际的操作码,因为开发工具了解NOP

答案 2 :(得分:6)

我想补充一点,armv7的非条件NOP是0xE320F000。

请注意,如果要修补文件,则需要以相反的顺序写入字节(小端) - 00 F0 20 E3