标签: buffer eip
有人可以解释EIP和退货地址之间的区别吗?
它似乎是相同的,但在我的调试器中,它表明它们是不同的。
答案 0 :(得分:2)
EIP寄存器保存要执行的指令的地址。当执行调用时,从EIP中的地址读取指令,EIP超过调用指令,并且此更新的EIP(即调用后指令的地址)被压入堆栈 - 它变为返回地址 - 并将功能地址作为下一条执行指令加载到EIP中。当执行函数的return语句时,它会弹出堆栈的返回地址并将其加载到EIP中,以便在调用指令后继续执行。