跳至主要内容

16.修改EIP的指令

JMP指令

1
2
3
4
5
6
7
JMP rel8
JMP rel16
JMP rel32

JMP r/m16
JMP r/m32
JMP r/m64
  • 本质
1
修改EIP的值

CALL指令

1
2
3
4
5
6
CALL rel16
CALL rel32

CALL r/m16
CALL r/m32
CALL r/m64
  • 本质
  • 修改EIP的同时,对堆栈有影响,会把CALL下面指令的地址压入栈中(也就是esp-4,把值压到栈顶)

RET指令

1
2
RET
RET imm16
  • 本质
  • 和CALL相反,把栈顶的值放到EIP,ESP加4

关于本文

由 GuQing 撰写,采用 CC BY-NC 4.0 许可协议。