首页
社区
课程
招聘
[求助]请教函数调用esp堆栈
发表于: 2007-4-26 13:04 5266

[求助]请教函数调用esp堆栈

2007-4-26 13:04
5266
push ff // 参数入栈
call 0x56789012 // 函数首地址

0x56789012 sub esp, 3C // 为什么要在esp-3c呢?esp-3c之后,esp的值还是ff,不明白一个push怎么会在两个地方赋值呢
............
0x567890a6 mov eax, [esp+8] // 这是第一个参数 [esp+8] == ff
............
0x567890c1 mov eax, [esp+14] // 奇怪,不是只有一个参数吗,怎么还会有esp + 14?这是指哪个值?

谁能帮我解释一下上面的函数调用是怎么回事吗?

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

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lcy
2
如果是 sub esp,3c的话,说明call 子函数多pop 3c-4的个堆栈,加4是因为push ff
2007-4-26 14:29
0
游客
登录 | 注册 方可回帖
返回
//