首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
社区
付费问答
发新帖
0
0
[旧帖]
关于push的问题
0.00雪花
发表于: 2011-9-13 09:50
1532
[旧帖]
关于push的问题
0.00雪花
mahezhen
2011-9-13 09:50
1532
push操作会使esp寄存器的值自动减少4吗? 还是esp就是一个存储数据的寄存器,和push操作没有关系?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
6
)
ronging
雪 币:
113
活跃值:
(100)
能力值:
( LV4,RANK:50 )
在线值:
发帖
18
回帖
451
粉丝
0
关注
私信
ronging
2
楼
和push操作有关系, push是减4,pop是加4。
你也可以直接修改esp值,因为它也是个寄存器
2011-9-13 11:16
0
mahezhen
雪 币:
79
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
51
粉丝
0
关注
私信
mahezhen
3
楼
谢谢大哥回答了,那为什么函数反汇编都是push ebp mov ebp esp sub esp 0c0h呢 既然push会使esp自动减少为什么还在开头把esp减去0c0h呢?
2011-9-13 11:24
0
mymixing
雪 币:
154
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
26
回帖
77
粉丝
0
关注
私信
mymixing
4
楼
esp 是栈操作寄存器
esp减去0c0h 是为临时变量预先申请的一块内存 内存长度为0c0h
2011-9-13 11:51
0
正happy
雪 币:
207
活跃值:
(26)
能力值:
( LV4,RANK:50 )
在线值:
发帖
3
回帖
182
粉丝
0
关注
私信
正happy
1
5
楼
push ebp 保存ebp寄存器的值
mov ebp esp 把当前栈顶传给EBP
sub esp 0c0h 为临时变量留空间
2011-9-13 14:06
0
mahezhen
雪 币:
79
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
51
粉丝
0
关注
私信
mahezhen
6
楼
sub esp 0c0h 为临时变量留空间 ? 为什么要为临时变量留空间呢? 难道临时变量压栈esp就不会减少4吗? 还是必须在刚开始就分配好这个函数所能用的栈空间,以后不能在分配了?
2011-9-13 15:59
0
ronging
雪 币:
113
活跃值:
(100)
能力值:
( LV4,RANK:50 )
在线值:
发帖
18
回帖
451
粉丝
0
关注
私信
ronging
7
楼
这个是编译器作的,为了效率啊。如果你有多个局部变量,每个局部变量有几十个字节,一次次push不是要累死。一个sub指令即方便效率又高。栈空间是编译时分配好的,相比堆来说,栈使用方便。建议LZ看看相关的编程书,这些都是比较基础的知识。
2011-9-14 11:43
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
mahezhen
6
发帖
51
回帖
10
RANK
关注
私信
他的文章
[求助]如何在驱动层获得进程的完整路径,
3538
[求助]本人新学USB驱动,谁能给个实现U盘只读的代码给俺参考下! 谢谢了。
5779
[求助]windbg怎么进入不了我想进的函数里面?
4399
求助:新手关于windbg调试
3697
求助:新手关于栈的困惑
4022
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部