硬编码结构
前缀指令
前缀指令最少0个,最多4个。并且分为4组,每组最多一个,前缀指令是无序的
例 F0:65:66:67 FF6818 其中F0:65:66:67顺序随意,但每组只能有一个
前缀指令分组
<1> LOCK和REPEAT前缀指令
LOCK F0
REPNE/REPNZ F2
REP/REPZ F3
<2> 段前缀指令
CS(2E) SS(36) DS(3E) ES(26) FS(64) GS(65)
<3> 操作数宽度前缀指令(改变默认的操作数宽度。当前为32位则改为16位。当前为16位则改变为32位)
66 例:(55) push ebp (66 55)push bp
<4> 地址宽度前缀指令(改变默认的寻址方式,当前为32位则改为16位。当前为16位则改变为32位)
67 例:(89 65 E8) MOV DWORD PTR SS:[EBP-18],ESP
(67 89 65 E8)MOV DWORD PTR DS:[DI+FFEB],ESP