- 出版者的话
- 中文版序一
- 中文版序二
- 译者序
- 前言
- 关于作者
- 第 1 章:计算机系统漫游
- 第 2 章:信息的表示和处理
- 第 3 章:程序的机器级表示
- 第 4 章:处理器体系结构
- 第 5 章:优化程序性能
- 第 6 章:存储器层次结构
- 第 7 章:链接
- 第 8 章:异常控制流
- 第 9 章:虚拟内存
- 第 10 章:系统级 I/O
- 第 11 章:网络编程
- 第 12 章:并发编程
- 附录 A:错误处理
- 实验 1:Data Lab
- 实验 3:Attack Lab
- 实验 4:Architechture Lab
- 实验 5:Cache Lab
- 实验 6:Performance Lab
- 实验 7:Shell Lab
- 实验 8:Malloc Lab
- 实验 9:Proxy Lab
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
实验 2:Bomb Lab
实验附件
- README
- Writeup
- 版本历史
- 自学材料
- 解答(需使用教师账户登录)
实验简介
“二进制炸弹”是一个程序,以目标代码文件的形式提供给学生。运行时,它会提示用户键入 6 个不同的字符串。如果其中任何一个错误,炸弹就会“爆炸”,打印错误消息并将事件记录在打分服务器上。学生们必须通过反汇编和逆向程序,“拆除”他们自己独特的炸弹,以确定这 6 个字符串应该是什么。该实验教学生理解汇编语言,并迫使他们学习如何使用调试器(debugger)。它也很有趣。这是 CMU 本科生的一个传奇实验。
上面的自学讲义中给出了一个 Linux/x86-64 二进制炸弹,你可以自己试试。通知打分服务器的功能已被禁用,所以你可以随意引爆此炸弹而不受惩罚。如果你是一个拥有 CS:APP 帐户的讲师,那么你可以下载解答。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论