汇编学习-堆栈平衡

概念

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

内平栈

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

posted @ 2020-12-22 21:24  Do1phln  阅读(215)  评论(0编辑  收藏  举报