![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机系统(2)
文章平均质量分 92
jennie佳妮
准华为云解决方案架构售前工程师SA(海外)。That which does not kill me,makes me stronger。虽然辛苦,但是我还是会选择那种滚烫的人生。莫问前程,但行好事,天道酬勤。愿你有十足的少年意气,只向自己的梦想俯首,而不必字斟句酌的考量世俗人心。
展开
-
【计算机系统(2)】5 Cache实验
1. 对Cache工作原理的理解;2. 程序中访存模式变化是如何影响cahce效率进而影响程序性能的过程;3. 在X86真实机器上通过调整程序访存模式来探测多级cache结构。在本次实验中,我尝试运用cache的知识进行代码优化,同时尝试编程实现真实x86机器cache的测量,加深了我对cache运行原理的理解。我意识到在代码编写时要尽量考虑cache的优化,按行优先存储可以相应的提高性能。...原创 2022-06-19 10:04:47 · 3434 阅读 · 5 评论 -
【计算机系统(2)】4 缓冲区溢出攻击
本实验设计为一个黑客利用缓冲区溢出技术进行攻击的游戏。我们仅给黑客(同学)提供一个二进制可执行文件bufbomb和部分函数的C代码,不提供每个关卡的源代码。程序运行中有3个关卡,每个关卡需要用户输入正确的缓冲区内容,否则无法通过管卡!要求同学查看各关卡的要求,运用GDB调试工具和objdump反汇编工具,通过分析汇编代码和相应的栈帧结构,通过缓冲区溢出办法在执行了getbuf()函数返回时作攻击,使之返回到各关卡要求的指定函数中。...原创 2022-06-19 03:20:04 · 1196 阅读 · 0 评论 -
【计算机系统(2)】3 逆向工程实验
本实验设计为一个黑客拆解二进制炸弹的游戏。我们仅给黑客(同学)提供一个二进制可执行文件bomb_64和主函数所在的源程序bomb_64.c,不提供每个关卡的源代码。程序运行中有6个关卡(6个phase),每个关卡需要用户输入正确的字符串或数字才能通关,否则会引爆炸弹(打印出一条错误信息,并导致评分下降)!要求同学运用GDB调试工具和objdump反汇编工具,通过分析汇编代码,找到在每个phase程序段中,引导程序跳转到“explode_bomb”程序段的地方,并分析其成功跳转的条件...原创 2022-06-19 02:36:53 · 1832 阅读 · 1 评论 -
【计算机系统(2)】2 数据表示
1. 各种数据类型在计算机中的表示方法2. C语言数据类型的位级表示及操作1、根据bits.c中的要求补全以下的函数:int bitAnd(int x, int y) ;int getByte(int x, int n) ;int logicalShift(int x, int n) ;int bitCount(int x) ;int bang(int x) ;int tmin(void) ;int fitsBits(int x, int n);...原创 2022-06-19 01:42:50 · 948 阅读 · 0 评论 -
【计算机系统(2)】1 环境配置与使用
Linux上C程序的编译和调试工具,包括以下内容:1. Linux操作系统及其常用命令2. 编译工具gcc的基本用法3. 使用gdb进行程序调试1.个人电脑2. ubuntui3. gcc4. gdb在目录中创建并用vi编辑工具成功编写reverse.h reverse.c两个代码文件。并利用gcc和gbd工具编译调试,最后成功正常运行reverselinux操作系统的基本操作,并利用vi编辑工具编写文件,用gcc和gbd编译调试文件,学会了如何在linux系统编译调试运行C语言程序原创 2022-06-19 00:59:05 · 309 阅读 · 0 评论