硬编码——定长指令

  1. 什么是硬编码
    硬编码指令对应着相应的汇编语句,也就是机器码,由二进制组成的数据
  2. 硬编码结构
    硬编码——定长指令_第1张图片
  3. 经典定长指令

1字节指令

40~4F是按照寄存器顺序自增1和自减1

要记住这么一个顺序:EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI 八个通用寄存器
40~47 是按照寄存器顺序自增1
硬编码——定长指令_第2张图片
48~4F是按照寄存器顺序自减1
硬编码——定长指令_第3张图片

50~5F是按照寄存器顺序进行压栈和出栈

50~57按顺序压栈
硬编码——定长指令_第4张图片
58~5F按顺序出栈
硬编码——定长指令_第5张图片
90-97是将EAX的值按照顺序与八个寄存器交换,其中90就是EAX与EAX交换,所以为NOP
硬编码——定长指令_第6张图片

2字节指令

B0~B3是按照顺序 将一个字节的数据存入al~bl
在这里插入图片描述
B4-B7是按照顺序,将一个字节的数据存入ah-bh
在这里插入图片描述
只有操作8位寄存器和32位寄存器的定长指令,没有16位的
B8~BF是按照顺序将一个32位的数据放入寄存器
硬编码——定长指令_第7张图片

你可能感兴趣的:(逆向学习)