汇编学习-堆栈平衡
本文最后更新于:2023年11月8日 中午
概念
- 当调用某处的函数时,函数一般会使用堆栈作为存储的对象,这里就涉及到了堆栈使用结束后,如果不将堆栈及时还原而直接RETN,就会造成EIP的值被改变(00000000),从而导致程序运行错误,因此,每次分体函数执行完毕后,都应该将使用过的堆栈还原到使用之前的内容。
- 如果通过堆栈传递参数了,那么在函数执行完毕后,要平衡参数导致的堆栈变化。
内平栈
RETN 8相当于RETN之后再让mov exp,8
汇编学习-堆栈平衡
https://www.0error.net/2020/12/de2976c0.html