也可以在我的知乎专栏CSAPPLab - 知乎 (zhihu.com)上看到8个lab的更加清晰的介绍。每一个lab我都会给出一些帮助解决 lab 的建议和前置知识,以及我的优化思路,和优化的过程和细节描述,并给出环境配置的一些坑,是很有帮助的。 lab完成情况 得分都已经换算成了百分制。 lab1datalab100/100 lab2bomb100/100 新...
说明:http://csapp.cs.cmu.edu/3e/malloclab.pdf 代码:http://csapp.cs.cmu.edu/3e/malloclab-handout.tar 复习:http://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/recitations/rec11.pdf 该作业编译成32位程序,我使用的是Windows的WSL子操作系统,不支持32位的程序,可参考这里来修改。 做了...
CSAPP官网:http://csapp.cs.cmu.edu/3e/labs.html答案版本1:https://github.com/Exely/CSAPP-Labs答案版本2:https://www.zhihu.com/column/c_1325107476128473088答案版本3:https://www.bilibili.com/video/BV183411k7VM?p=4题目一:bitXor题目描述:请仅使用 ~ 和 & 实现 ^ 操作允许的操作符:~ &...
这就能够表明我们确实忽略了一些东西 查看汇编代码也可以知道,存在secret_phase这个函数,但是secret_phase函数是哪里调用的呢,其实很容易发现,在每完成一关后都会调用phase_defused();而secret_phase函数就是在这个函数中调用的。 先分析secret_phase函数的功能,通过看phase_defused()可知调用secret_phase时无参数传递 00...
原址链接:http://csapp.cs.cmu.edu/3e/labs.html 1. bitAnd /* * bitAnd - x&y using only ~ and | * Example: bitAnd(6, 5) = 4 * Legal ops: ~ | * Max ops: 8 * Rating: 1 */intbitAnd(intx,inty){return~(~x | ~y); ...
我们老师也将CMU原配的几个Lab作业给移植 了过来,目前已经完成了datalab和下面要介绍的bomblab,做过之后真的是觉得受益匪浅。Bomblab 的主要是通过姓名学号可以从服务器上下载一个bomb的tar包,用objdump可以得到它的汇编源码与c文件。在程序运行过程中需要输入若干字符串,如果字符串不符合要求则将导致炸弹爆炸,每爆炸...
http://www.cs.cmu.edu/afs/cs/academic/class/15213-f16/www/schedule.html Awesome Labs! http://csapp.cs.cmu.edu/3e/labs.html Lab 1: datalab Lab 2: bomblab Lab 3: attacklab Lab 4: cachelab Lab 5: tshlab Lab 6: malloclab Lab 7: proxylab Past exams: http://www.cs....
理论上通过阅读汇编代码就可以找到答案,前3题或许可以,后边的题目就有点难度了。熟练使用gdb也是这个lab很重要的一个目的。 官方提供了gdb常用命令手册:http://csapp.cs.cmu.edu/3e/docs/gdbnotes-x86-64.pdf 下面开始“拆弹“。 首先需要将bomb二进制文件反汇编,得到汇编代码。下面的命令将bomb反汇编并保存在fi...
选项参数系统环境Windows10 系统下 VMware 虚拟机 Ubuntu12.04 桌面版 32 位原址链接http://csapp.cs.cmu.edu/3e/lab...
Bomb Lab (csapp) “最后一弹” 查看原文 CS:APP配套实验文件下载方法 官网下载 官网下载地址:http://csapp.cs.cmu.edu/3e/labs.html界面如下 如果直接点击实验会提示下载文件需要注册CS:APP的账户,我们直接点击实验后面括号中的链接.../1Emo0oqIqTy6sxe90hQRqQg 提取码:q0q4 总共11个实验: 每个实验需要的...