关于这个问题有很多话题,但我找不到我在所找到的所有主题中找到的答案。堆栈框架破坏
我实际的问题是:
当我们进入一个过程,我们才能继续使用,无需任何泄漏正常运行的程序使用功能序言和跋(进入和离开的指令)。
假设你想在程序中使用2个局部变量。您可以将ESP减少8,以将对齐默认为4个字节(DWORD)。在程序结束时,您希望DESTROY/RELEASE这些变量,因此您必须将ESP设置为EBP。
我的问题是,如何改变ESP地址等于EBP地址销毁/释放局部变量?我们调用RET之后会发生什么?堆栈框架如何被销毁?
到底是什么“破坏”与“放”在你心目中意味着什么呢?你是否想象着小小的管理员走进你的内存,拾取小的旧变量并将它们释放回野外? –