6.汇编-修改EIP的指令

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指令

发表评论

电子邮件地址不会被公开。 必填项已用*标注

使用 MarkDown 语法撰写评论