计组
文章平均质量分 76
不吃汤达人
骑上飞马
展开
-
CSAPP数据实验Datalab
满分参考bitAnd获取x、y的位与结果由德摩根律可直接得到答案/* * bitAnd - x&y using only ~ and | * Example: bitAnd(6, 5) = 4 * Legal ops: ~ | * Max ops: 8 * Rating: 1 */int bitAnd(int x, int y) { return ~((~x)|(~y));//~(AB) = ~A + ~B}getByte获取x的指定字节原创 2021-03-16 15:56:09 · 901 阅读 · 0 评论 -
CSAPP缓冲实验buflab
这个实验也比较有意思,虽然我是跟着老师给的参考答案手把手做的,缓冲攻击成功的时候还是很有成就感,就是可惜没有和炸弹实验一样的隐藏关了缓冲实验一共5个关卡,具体的实验细节在实验说明的pdf中有讲,大概就是通过利用一个缓冲区溢出的bug来对一个二进制程序进行攻击,改变它的行为(外挂初级?)文件输入因为我们要通过二进制程序来进行攻击,因此我们所写的程序需要被转成2进制实验说明pdf中给出了实验中可以采用的进制转换方式:linux> ./hex2raw < 输入文件本实验通过一个uid.原创 2020-12-26 02:00:02 · 1031 阅读 · 0 评论 -
CSAPP炸弹实验bomblab
bomblab是计组里面我做的最认真的一个实验了折腾汇编两三个小时最后过关的感觉很有成就感!这边给上我做的时候的一些过程,可以给大家参考main函数分析首先是找到main函数,发现它调用了从phase_1到phase_6这六个函数。这应该就是每一关需要看懂的函数了。第一关: 入门找到phase_1,代码如下:当eax的值等于0时,就会调用炸弹爆炸的explode_bomb函数于是可见上一步函数strings_not_equal返回后的eax必须要为1,结合函数可以推断出是需要"str.原创 2020-12-13 21:54:23 · 3612 阅读 · 4 评论