堆栈平衡
2022年06月15日
•
微信
•
我要评论
含义 如果要返回父程序,则当我们在堆栈中进行操作时,一定要保证在RET这条指令执行之前,ESP指向的是我们压入堆栈的地址,也就是堆栈压入的值中途
含义
- 如果要返回父程序,则当我们在堆栈中进行操作时,一定要保证在RET这条指令执行之前,ESP指向的是我们压入堆栈的地址,也就是堆栈压入的值中途 可能发生变化,但是在函数执行完得和刚开始的保持一致。
- 如果通过堆栈传入参数了,那么在函数执行完毕后,要平衡参数导致的堆栈变化。
外平栈与内平栈
外平栈:call 指令后add esp,8
内平栈:调用的函数最后ret 8
ESP(栈顶)寻址
EBP(栈底)寻址
EBP的地址相对固定,不会随着函数执行时对堆栈的操作而改变,可以通过EBP加一个值或减一个值来,ESP的值时不会改变
在push ebp的时候这时的堆栈断点位置就是ESP里的地址,堆栈断点在什么地址,ESP的值就为什么地址
ESP的值时不会改变,所以有了mov ebp,esp这一步为了把esp的地址存放起来,中途调用函数的时候esp的值会发生改变,为了堆栈平衡,所以最后要把esp地址放回去,让调用函数前esp和ebp的值保持一致。
赞 (0)
打赏
微信扫一扫
相关文章:
-
-
很多小伙伴都在想小编反应参加了快手的赛艇大作战活动,不知道怎么退出,现在小编就来给大家解答,感兴趣的小伙伴们就来看看吧。快手赛艇大作战退出队伍教程1、点击奥运,进入赛艇站2、可以看…
-
在使用手机微信的时候,如果遇到喜欢的视频风格,如何使用该视频的原声来拍视频?今天我们就来看看微信视频号使用原声拍视频的技巧。进入微信后点击进入发现。点击进入视频号。找到要使用的视频…
-
-
-
剪映怎么制作满屏动态字幕特效?这个效果小视频中经常能见到,或者一些带货的主播视频中也能见到,该怎么制作这个效果呢?下面我们就来看看剪映制作满屏动态字幕特效的技巧。首先打开剪映专业版…
-
微信如何查看微信视频号热搜?
微信如何查看微信视频号热搜?想要在微信查看微信视频号热搜该怎么操作呢,跟随小编一起来学习一下具体的操作方法吧。微信查看微信视频号热搜的方法:1、进入微信视频号,...
[阅读全文]
-
企业微信怎么转发微文档,该如何操作呢?下面我们就来看看企业微信分享微文档的方法。首先打开手机的企业微信软件。然后点击下面的工作台。然后点击微文档。然后选择文档,点击三点图标。然后点…
-
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论