首页
社区
课程
招聘
[旧帖] [求助]OD中,关于CALL和堆栈的一点疑问 0.00雪花
发表于: 2012-4-28 16:56 1177

[旧帖] [求助]OD中,关于CALL和堆栈的一点疑问 0.00雪花

2012-4-28 16:56
1177


如上图,我在调用send的call的时候,对照了右边的堆栈信息
发现其4个参数分别在esp,esp+4,esp+8,esps+c的位置

但是以前学的反汇编,不是说参数是从ebp+8开始吗?依次加4

比较疑惑,希望得到前辈的指点:)

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
2
别太死板了啊,编译优化开启了,不再用EBP定位栈桢了,而是只用ESP寻址。这样可以省下来一个EBP用作别的。你用VC写个程序,开启编译优化,自已逆一下就明白了。
2012-4-28 17:32
0
雪    币: 282
活跃值: (236)
能力值: ( LV3,RANK:37 )
在线值:
发帖
回帖
粉丝
3
楼上正解,开启了编译优化了,直接利用esp,省下了ebp
2012-4-29 09:52
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
如果函数开头有push ebp,那么这时esp 就自减 4,当然要[esp +8]了,如果开头没有push ebp ,那就是[esp + 4]
2012-4-30 22:43
0
游客
登录 | 注册 方可回帖
返回
//