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

发表评论

电子邮件地址不会被公开。

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>