首页
社区
课程
招聘
[讨论]《加密与解密(第三版)》第四章的错误
2010-7-30 12:26 5463

[讨论]《加密与解密(第三版)》第四章的错误

2010-7-30 12:26
5463
我读第四章发现的问题,勘误帖子中没有这个问题,所以发出来,大家一起讨论。

1、P74, 关于enter和leave
   书中在讲解堆栈平衡时,给出的代码是:add esp,8/pop ebp,并指出这相当于leave。我对此专门进行了测试,把add esp,8/pop ebp,说成leave肯定不对,应该是mov esp,ebp/pop ebp。另外,不知道书中给出的”汇编代码大致情况“是手写的,还是反汇编生成的,我猜想是作者为了讲解堆栈平衡手写的,因为书中并没有给出代码和exe文件,我采用不同的编译选项编译生成exe,然后反汇编始终没有发现add esp,4,都是mov esp,ebp。
   
2、P75,给出的函数堆栈创建图,我觉得不够严谨。系统进栈是++esp,mvoe [esp],value,也就是说esp当前指向的是有效值。

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dqcz 2010-8-8 08:46
2
0
不懂,帮顶。
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
HotPower 2010-8-14 17:28
3
0
看帖回帖职业道德
雪    币: 440
活跃值: (82)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
asdfslw 3 2010-9-12 09:59
4
0
32位CPU下
leave指令相当于
mov esp, ebp;
pop ebp;
(参考IA32指令手册)

《加密与解密 第三版》PAGE 75 这样写到:
“ 。。。而leave 则完成‘add esp, xxx/pop ebp’的功能。。。 ”
这样说是有问题的。leave指令没有参数,所以xxx这个不确定的东东是不可能存在的。
游客
登录 | 注册 方可回帖
返回