csapp
文章平均质量分 91
xi@0ji233
贴一下GitHub博客的地址:xia0ji233.github.io
展开
-
archlab
title: archlab实验报告:y86命令的使用date: 2021-05-10 22:00:00tags:csapp reportassemble commandcomments: truecategories:assembley86下载文件之后:脑瓜子嗡嗡的,writeup看不懂,只能先去看看已有的实验报告,然后先做个总结——先把里面的sim.tar解压了,然后进入目录之后make clean,make会在里面的所有文件该生成的文件生成了。part A这个部分的.原创 2021-05-17 21:47:14 · 2323 阅读 · 1 评论 -
buflab实验报告:32位程序缓冲区溢出攻击
buflab实验报告:32位程序缓冲区溢出攻击在此实验开始之前,弄清楚给你的三个文件分别干嘛的。bufbomb:实验需要攻击的程序hex2raw:根据填写的字节生成攻击字符串makecookie:对每个实验用户生成一个八位十六进制的字节序列,用于识别用户。(可能是用来打分的)在gdb要运行的时候,一定要输入r -u <your id>,终端运行要输入./bufbomb -u <your id>,否则你是运行不了的。那咱们先输入./makecookie -q生成你的cooki原创 2021-04-30 00:27:15 · 727 阅读 · 0 评论 -
Csapp attacklab 实验报告:代码注入以及rop攻击
attacklab 实验报告Ctargetlevel1题目给出函数test,test里面有函数getbuf,然后它给定的提权函数是touch1(),我们那我们先gdb ctarget进入调试,然后输入disassemble getbuf查看汇编代码。可以很清楚的看到函数的缓冲区大小是0x28字节,然后gets已经说明是库的标准函数了,gets函数是有漏洞的,它在读入字符串的时候不会对长度检测,而是给多少读多少。那么我们可以用这个gets来实现栈溢出,执行我们的权限函数touch1(),我们可以先用原创 2021-04-26 16:01:38 · 2685 阅读 · 5 评论 -
Csapp bomblab 实验报告:二进制安全和逆向分析
先观察给的.c文件,发现是要输入六组语句并且判断正误的,并且很容易发现判断函数为phase_i(i=1,2…6)要有一个错误,炸弹即爆炸,那我们就要用到gdb调试了。在终端输入gdb bomb首先在phase_1处断点(命令:’b phase_1’)找到phase_1的拆弹语句。然后’r’运行,先随便输入点东西这里我输入了很多a,断在该处之后单步调试,因为要进入函数内部,我们用命令’step’或者’s’进行单步调试。发现strings_not_equal函数里面其中一个是我们刚刚输入的很多a,那么显原创 2021-04-19 02:38:52 · 618 阅读 · 1 评论 -
csapp datalab 实验报告:位运算实现各种操作
1.bitXor:要求限用运算符实现异或,实际上我们知道逻辑异或可以只用与或非三类运算组合实现,因此很容易得到a^b=((a&b)|(a&b)),但是题目没让我们使用或运算符,根据摩根定理我们可以得到:(a&b)=a|b,带入即可得到答案。2.tmin:返回int的最小值,int属于有符号数,负数存储以补码形式,因此我们很容易得到-2147483648的补码就是0x80000000,拆成二进制就是1后面31个0,我们通过对1移位运算得到是1<<313.Tmax:判断x原创 2021-04-17 21:10:29 · 557 阅读 · 0 评论