汇编学习-堆栈平衡

本文最后更新于:2023年11月8日 中午

概念

  1. 当调用某处的函数时,函数一般会使用堆栈作为存储的对象,这里就涉及到了堆栈使用结束后,如果不将堆栈及时还原而直接RETN,就会造成EIP的值被改变(00000000),从而导致程序运行错误,因此,每次分体函数执行完毕后,都应该将使用过的堆栈还原到使用之前的内容。
  2. 如果通过堆栈传递参数了,那么在函数执行完毕后,要平衡参数导致的堆栈变化。

内平栈

RETN 8相当于RETN之后再让mov exp,8


汇编学习-堆栈平衡
https://www.0error.net/2020/12/de2976c0.html
作者
Jiajun Chen
发布于
2020年12月20日
许可协议