EIP和Return Adress之间有什么区别?

时间:2015-10-05 00:46:40

标签: buffer eip

有人可以解释EIP和退货地址之间的区别吗?

它似乎是相同的,但在我的调试器中,它表明它们是不同的。

1 个答案:

答案 0 :(得分:2)

EIP寄存器保存要执行的指令的地址。当执行调用时,从EIP中的地址读取指令,EIP超过调用指令,并且此更新的EIP(即调用后指令的地址)被压入堆栈 - 它变为返回地址 - 并将功能地址作为下一条执行指令加载到EIP中。当执行函数的return语句时,它会弹出堆栈的返回地址并将其加载到EIP中,以便在调用指令后继续执行。