csapp
yiichan
这个作者很懒,什么都没留下…
展开
-
CSAPP Lab 3 Attack Lab phase1~3
Lab 3 Attack labphase 1第一个很简单,只需要用x命令查看栈内容,定位到ret的返回位置,再用自己输入的缓冲区溢出数据覆盖就行了。计算好需要输入的字节长度,将touch1函数的首地址恰好覆盖原先的栈顶元素,这样ret就会返回到touch1函数,而不是返回到正常的test函数。需要注意的是,由于转移目标地址输入到栈中是ascii码形式保存的,所以如果地址是一些难以输入的ascii码怎么办?官方给了一个转换小程序hex2raw,能够将两位16进制表示的ascii码转换成字符输入,这样就原创 2020-08-04 20:39:05 · 817 阅读 · 0 评论 -
CSAPP Lab 2 Binary Bomb 二进制炸弹
Lab 2 Binary Bomb(二进制炸弹)传说中的二进制炸弹实验,广为流传,学csapp的人对这个lab耳熟能详。实验内容是通过反汇编一个linux可执行文件,得到它的汇编格式代码,通过分析这个汇编代码,得出解除炸弹需要输入的字符串。输入每个炸弹对应的正确字符串,就能解除这个炸弹,一共六个炸弹。具体描述是,有6个不同的样例,对每个样例,只有输入正确的字符串才能成功通过,输入错误的字符串就会失败(表现为这个炸弹爆炸,扣作业分)。通过反汇编得到汇编代码,分析能够得到正确字符串,运行时输入即可。初始原创 2020-07-17 10:30:39 · 2346 阅读 · 0 评论 -
GDB汇编调试命令
GDB汇编调试命令之前学xv6时用到的GDB,在这里整理了一份常用gdb命令,免得自己以后还得去网上查那些对错不论的博客。1. info r 显示当前的寄存器值对于标志寄存器,见下图。其实输入上面命令,eflags后面会直接显示当前为1的寄存器名称。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aik6OLGV-1594872387491)(/home/yichuan/桌面/eflags.png)]2. 要查看寄存器的值,很简单,可以使用如下命令:info r原创 2020-07-16 12:07:42 · 1299 阅读 · 0 评论