首页
社区
课程
招聘
[建议][求助]请教第4章 64位软件逆向技术,P138页有关结构体参数申请空间大小问题
发表于: 2019-2-12 23:38 2414

[建议][求助]请教第4章 64位软件逆向技术,P138页有关结构体参数申请空间大小问题

2019-2-12 23:38
2414
P138页的例子中sub rsp, 40h, 书上注释是申请预留栈空间+局部变量空间 ,为什么是40h?    
就不能详细点吗? 前面简单的例子反倒还计算了怎么这里难点的反而不计算

还有后面那个例子为什么是sub rsp,78h, 怎么计算也不得78h啊



[课程]Linux pwn 探索篇!

最后于 2019-2-13 21:15 被我是EIP编辑 ,原因: 添加图片
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
x64栈 结构按16字节对齐 从call 开始计算 返回地址 -8 fastcall预留空间- 20h 剩下的部分分两种情况 一种是没有局部变量 这里为了在call 下层函数的时候 保持栈对齐 会多减 一个8 开头一个sub rsp, 28h 如果有局部变量则根据实际情况 分配 编译器编译时 都会考虑到call下层函数的时候保持栈对齐
2019-2-13 02:25
1
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
小艾 x64栈 结构按16字节对齐 从call 开始计算 返回地址 -8 fastcall预留空间- 20h 剩下的部分分两种情况 一种是没有局部变量 这里为了在call 下层函数的时候 保持栈对齐 会多减 ...
你算一下??
2019-2-13 09:12
1
雪    币: 488
活跃值: (3149)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
4
我认为二楼说得很好,总结很到位了。
如果楼主需要带例子算一下给你看的话,发帖时候就应该把例子带上来吧,并不是论坛里每个人都有一本你手里的书
2019-2-13 10:18
0
雪    币: 5734
活跃值: (1737)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
push rdi sub rsp, 40h 实际上rsp 减了 48h 除去 28h的预留 实际分配了 18h 空间 这里 编译多分配了 10h空间 讲道理 是因为编译器 比较笨 毕竟没有那么智能 实际sub rsp, 30h 也是够用的
2019-2-13 23:03
0
游客
登录 | 注册 方可回帖
返回
//