![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机系统
计算机系统知识
北徯
QQ:981715157
展开
-
计算机系统基础学习笔记(7)-缓冲区溢出攻击实验
缓冲区溢出攻击实验实验介绍实验任务实验数据目标程序 bufbomb 说明ufbomb 程序接受下列命令行参数目标程序bufbomb中函数之间的调用关系缓冲区溢出理解目标程序调用的**getbuf**函数:过程调用的机器级表示test函数调用getbuf函数工具程序 hex2raw 说明攻击字符串示例辅助程序makecookie测试攻击字符串实验介绍此次实验的目的在于加深对 IA-32 过程调用规则和栈结构的具体理解。实验的主要内容是对一个可执行程序“bufbomb”实施一系列缓冲区溢出攻击(buffer原创 2020-06-03 21:34:44 · 9385 阅读 · 12 评论 -
计算机系统基础学习笔记(4)-Cache友好代码
程序的性能指执行程序所用的时间,显然程序的性能与程序执行时访问指令和数据所用的时间有很大关系,而指令和数据的访问时间与相应的 Cache 命中率、命中时间和和缺失损失有关。对于给定的计算机系统而言,命中时间和缺失损失是确定的。因此,指令和数据的访存时间主要由 Cache 命中率决定,而 Cache 的命中率则主要由程序的空间局部性和时间局部性决定。Cache友好代码下面我们来介绍如何编写一段Cache友好代码,一段Cache友好代码往往运行速度较快。但我们需要注意以下两点:尽可能多的重复使用一个数据原创 2020-05-13 12:18:47 · 2584 阅读 · 6 评论 -
计算机系统基础学习笔记(3)-浮点数的精度问题
计算机系统基础学习笔记(1)-基本GCC,objdump,GBD命令的使用原创 2020-04-27 11:29:25 · 1875 阅读 · 0 评论 -
计算机系统基础学习笔记(1)-基本GCC,objdump,GDB命令的使用
基本GCC命令的使用GCC是一套由GNU项目开发的编程语言编译器,可处理C语言、C++、Fortran、Pascal、Objective-C、Java等等。GCC通常是 跨平台软件的编译器首选。gcc是GCC套件中的编译驱动程序名。若计算机是x86-64位系统,为了编译成IA-32指令集,则请先运行下列命令:sudo apt-get install build-essential mod...原创 2020-04-22 08:52:13 · 1763 阅读 · 0 评论 -
计算机系统基础学习笔记(2)-数据的位运算操作
C语言的位运算操作包括两类,逻辑运算操作和逻辑移位操作。逻辑运算操作C语言提供了四种按位逻辑操作符,分别是按位取反,按位与,按位或,按位异或。在编译时,编译器会根据操作数的宽度分别转换为不同的指令。操作C语言操作符汇编指令按位取反~notb、notw、notl按位与&andb、andw、andl按位或lorb、orw、orl按位异或^...原创 2020-04-21 23:35:51 · 1591 阅读 · 0 评论