首页
社区
课程
招聘
leave的原理用mov esp,ebp,pop ebp解釋不通
发表于: 2007-5-17 15:19 9398

leave的原理用mov esp,ebp,pop ebp解釋不通

2007-5-17 15:19
9398
在子程序裡使用多個push而不用pop,當程序執行完leave指令後,堆棧就回復到正常的位置了,
而很多教程上都說,leave指令相當於下列指令的組合
mov esp,ebp,pop ebp

根據上述的現象,這樣好像解釋不通

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
现在大多都是调用者恢复堆栈
ret就恢复堆栈了
或者恢复堆栈指针也是恢复堆栈 用add就行了 不一定要用pop
2007-5-17 17:45
0
雪    币: 380
活跃值: (101)
能力值: ( LV13,RANK:370 )
在线值:
发帖
回帖
粉丝
3
只要你不动ebp,leave就能正确的平衡你的堆栈
2007-5-17 18:03
0
雪    币: 424
活跃值: (1829)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
在子程序开始时不是有
push ebp
mov ebp,esp
吗,只要ebp没变leave就能正确得到原来的esp,和你push几个无关
2007-5-24 13:47
0
游客
登录 | 注册 方可回帖
返回
//