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

Jul*_*ian 10 iphone arm

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

moo*_*dow 14

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


Ste*_*non 10

ARMv7有一个实际NOP指令,具有以下编码:

    0xbf00  2 byte thumb2 form
0xf3af8000  4 byte thumb2 form
0x*320f000  4 byte arm form
Run Code Online (Sandbox Code Playgroud)

在定位早期版本的体系结构时,汇编程序会转换NOP为列出moonshadow的MOV指令.

您不应该像开发工具所理解的那样使用实际的操作码NOP.


小智 6

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

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