- "NOP"(90),NOP指令什么也不操作,直接通过,在进行执行NOP指令的时候,除了EIP的值变换,其他od里面的内容都不会改变.
1.1 从0040100处开始执行,执行"add eax,0x1"命令,eax寄存器等于3,当执行到中间的时候,除了EIP的值改变以外,其他地方内容都不会改变.
![]()
- "push" 指令可以把数值,内存地址,内存地址中的值,寄存器中的值,压入栈顶,而pop指令可以把栈顶数据拿出赋值给寄存器中.
![]()
- "pushad"用于把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI,依次压入栈顶位置,"popad"用于把栈顶位置依次放入EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX.
3.1 ESP指向栈顶位置
![]()
3.2 执行pushad,ESP被压入后改变.
![]()
3.3 执行popad. ESP值重新还原.
![]()
- "mov"指令用于把第二个数赋值给第一个数,以下操作是把ecx赋值给eax,把eax赋值到402000内存地址中的值处.
![]()






浙公网安备 33010602011771号