EIP寄存器
EIP寄存器表示CPU下次执行的位置
JMP指令
JMP指令相当于给EIP寄存器赋值
JMP后面只能是32位的
指令格式:
MPV EIP,寄存器/立即数/内存
简写:JMP 寄存器/立即数/内存
JMP 0x00FF19 -> MOV EIP,0X00FF19
JMP EAX -> MOV EIP,EAX
JMP DWORD PTR DS:[0x18ffa0] ->MOV EIP,DWORD PTR DS:[0x18ffa0] #这里内存指针只能用32位的
CALL指令
PUSH下一行地址
MOV EIP,立即数/寄存器/内存
简写 CALL 立即数/寄存器/内存
与JMP唯一区别:
在堆栈中存储CALL指令(当前指令)的下一行地址 (PUSH 到堆栈中)
如果是调试call的汇编指令的时候,要按F7 否则会跳过
RET 指令
从堆栈中pop 出地址,赋值给eip
ADD ESP 4,
MOV EIP,dword ptr ds:[ESP-4]
----------
MOV EIP,dword ptr ds:[ESP]
ADD ESP 4
以上指令简称 RET指令