![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机系统基础
ouc计算机系统基础实验
Lieb_Mark
这个作者很懒,什么都没留下…
展开
-
CSAPP Bomb secret_phase
CSAPP原创 2022-06-26 17:52:30 · 251 阅读 · 0 评论 -
CSAPP Bomb phase_6:链表指针结构
CSAPP Bomb实验原创 2022-06-26 17:47:17 · 370 阅读 · 0 评论 -
CSAPP Bomb phase_5:指针
CSAPP Bomb实验原创 2022-06-26 17:45:11 · 366 阅读 · 0 评论 -
CSAPP Bomb phase_4:递归
CSAPP Bomb实验原创 2022-06-26 17:42:52 · 468 阅读 · 0 评论 -
CSAPP实验
实验目的: 1更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。 2.实验中使用有限类型和数量的运算操作实现一组给定功能的函数,在此过程中加深对数据二进制编码表示的了解 3.熟悉linux基本操作命令,其中常用工具和程序开发环境 4.完善bits.c的各个函数,实现其功能,并通过.btest的测试 实验要求 1.尽快熟悉linux基本操作命令,还有其中常用工具和程序开发环境 2.除浮点数函数实现外,只能使用顺序程序结构,禁用if,do,while,for,switch等。......原创 2022-03-07 21:49:01 · 2488 阅读 · 0 评论 -
CSAPP Bomb phase_3:条件分支
综合分析:首先,整个函数的输入是两个数字 通过爆炸,可以判断第一个参数的范围,在1到7之间(后面又作限制在1到5之间) jmp *0x804a0b4(,%eax,4),通过此语句完成跳转,eax是输入的第一个参数,*0x804a0b4(,%eax,4)作用类似于上课讲的switch case语句的那个表的作用,控制跳转的位置,而且是一个没有break的switch case语句,所以从一个地址执行,一直到最后。输入不同的数会有不同的答案 输入的数为2,结果为0x0 + 0x36c ...原创 2022-03-07 21:59:22 · 415 阅读 · 0 评论 -
CSAPP Bomb phase_2: 循环
综合分析:首先,整个函数的输入是六个数字 通过ebp加减一个数,来表示是第几个参数。根据炸弹爆炸或不爆炸的条件,首先可以确定第一个和第二个参数的值分别是0和1 下面就开始循环,第一个参数给ebx, 第六个参数给esi,ebx也通过加4,实现i++。每次计算完后,比较ebx和esi,相等则跳出 0x8(%ebx) = 0x4(%ebx) + ebx才不爆炸,相当于a[i]=a[i-1]+a[i-2],一个数可以由它前面两个数相加得到,这符合斐波那契数列的规律 通过计算可以得到这六个数是0 ...原创 2022-03-07 21:56:44 · 397 阅读 · 0 评论 -
CSAPP Bomb phase_1 :字符串比较
08048b30 <phase_1>: 8048b30: 55 push %ebp 8048b31: 89 e5 mov %esp,%ebp 开辟栈帧 8048b33: 83 ec 10 sub $0x10,%esp 开辟16个字节的空间 8048b36: 68 5c a0 04 08 push $0x804a05c 8048b3b: ff 75 08.原创 2022-03-07 21:53:10 · 140 阅读 · 0 评论