
计算机系统
文章平均质量分 89
往虚
一名很摆的hnuer
展开
-
HNU-计算机系统作业4-2022级
当处理程序还在处理第一个信号时,第二个信号就传送并添加到了待处理信号集合里。然而,因为SIGUSR2信号被SIGUSR2处理程序阻塞了,所以第二个信号就不会被接收。之后的 3 个信号便会被抛弃了。因为是连续发送,所以很可能是没等上下文切换,这 5 个信号就同时发送了。这里的 0x0 其实应该重定位为 xp 的地址,所以这应该是一 个绝对引用。在.data 节中,第一个 x 是不需要重定位的,第二个 xp 的值需要重定位为 x 的地址。:原始C源程序中的行号和.text节中机器指令之间的映射。原创 2024-10-22 13:34:13 · 520 阅读 · 0 评论 -
HNU-计算机系统作业3-2022级
A:B = 4, 则b(即CO) = 2,S=4,则s(即CI) = 2,所以0 1 位为CO,2 3位为CI,其余为CT。原创 2024-10-22 13:29:54 · 994 阅读 · 0 评论 -
HNU-计算机系统作业2-2022级
第四行%ebp+8中就是i,即%eax=i,第13行mov指令中的%eax存放的是函数第一行中计算的n,所以前面的第11和第12行中,%ebp+0xc存放的是 bp->left, %ebp+0xc+0xc8存放的是 bp->right,所以a_struct[CNT]共占196字节(200-4)。第13行,右边0x8(%ecx,%edx,4),也就是(4%edx+bp+8),实际上也就是是(bp+4+28i+4+4M[bp+4+28i])。寄存器%ebx保存参数x的值,即未被移位的x。%edx保存mask。原创 2024-10-22 13:24:23 · 423 阅读 · 0 评论 -
HNU-计算机系统实验-buflab-2022级
本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解。实验的主要内容是对一个可执行程序“bufbomb”实施一系列缓冲区溢出攻击(buffer overflow attacks),也就是设法通过造成缓冲区溢出来改变该可执行程序的运行内存映像,继而执行一些原来程序中没有的行为,例如将给定的字节序列插入到其本不应出现的内存位置等。本次实验需要你熟练运用gdb、objdump、gcc等工具完成。在这个实验中我们有三个主要文件bufbomb :这个是我们要进行攻击的,具有缓冲区漏洞的文件。原创 2024-10-22 12:52:15 · 935 阅读 · 0 评论 -
HNU-计算机系统实验-bombLab-2022级
这个实验对于汇编语言的理解的要求很大,除了要学会用GDB查看各个内存地址存放的内容外,还要理解函数的目的究竟是什么,整个实验耗费了不少的时间,有的炸弹光要看懂汇编是在干什么就要耗费很长一段时间,理解的时候一直是在烧脑和惊喜之间反复横跳,但是解决之后成就感是值得花费大量的时间的,这次实验令我对反汇编破解有了一些深入的理解。看到这个我们可以断定这里存储的是链表,因为每一组都有一个标号,从1到6,那么自然标号前的数是权重,后面的数是下一结点的地址,并且每个地址之间相差12也印证了我们的猜想。原创 2024-10-22 11:20:06 · 1588 阅读 · 0 评论