计算机原理
BUFFER.pwn
计算机科学、人生、哲学
展开
-
计算机中信息的表示和处理
信息的表示和处理有三种重要的数字表示:无符号表示大于或者等于0的数字补码表示可以为正或者为负的数字浮点数表示实数的科学计数法的以二为基数的版本计算机的表示法使用有限数量的位来对一个数字编码,因此,当结果太大以至于不能表示时,某些运算就会溢出。整数表示虽然只能编码一个相对较小的数值范围,但是这种表示是精确的;而浮点数虽然可以编码一个较大的数值范围,但是这种表示只是近似的,且由于表示的精度有限,浮点运算是不可结合的。十进制转十六进制如果一个数可以表示成2的非负整数n次幂时,即 x= 2原创 2020-12-10 19:10:35 · 754 阅读 · 1 评论 -
网络通信底层原理
系统之间利用网络通信现代系统经常通过网络和其他系统连接到一起,从一个单独的系统来看,网络可视为一个I/O设备。当系统从主存将一串字符复制到网络适配器时,数据流经过网络到达另一台机器,相似的,系统可以读取从其他机器发送来的数据,并把数据复制到自己的主存。继续讨论hello示例,我们可以使用Telnet应用在一个远程主机上运行hello程序。假设用本地主机上的Telnet客户端连接到远程主机上的Telnet服务器。在我们登录到远程主机并运行外壳后,远端的外壳就在等待接收输入命令。从这点开始,远程运行hel原创 2020-12-10 19:03:27 · 990 阅读 · 2 评论 -
操作系统对程序提供服务的方法
操作系统管理硬件回到hello程序的例子,外壳(shell)没有直接访问磁盘,hello程序也没有直接访问显示器。取而代之的是,它们都是依靠操作系统提供的服务来达到的上述功能。我们可以把操作系统看成是应用程序和硬件之间插入的一层软件,所有应用程序对硬件的操作都必须通过操作系统。操作系统有两个基本功能:防止硬件被失控的应用程序滥用向程序提供简单一致的机制来控制复杂而又通常大相径庭的低级硬件设备操作系统通过几个基本的抽象概念(进程、虚拟存储器和文件)来实现这两个功能如图所示,文件是对I/O设原创 2020-12-10 18:59:16 · 1539 阅读 · 1 评论 -
可执行文件运行的底层原理
处理器读并解释存储在存储器中的指令此刻,hello.c源程序已经被编译系统翻译成了可执行目标文件hello,并存放在磁盘上,也就是电脑上的某个文件夹下面。要想运行该文件,可以将他的文件名输入到被称为外壳(shell)的应用程序中,也就是终端,即Windows的cmd中shell是一个命令行解释器,它输出一个提示符,等待你输入一个命令行。然后执行这个命令。如果该命令行的第一个单词不是一个内置的外壳命令,那么外壳就会假设这是一个可执行文件的名字,它将加载并运行这个文件。 所以在此例中,外壳将加载并运行he原创 2020-12-10 18:46:40 · 2811 阅读 · 2 评论 -
程序从源代码到可执行文件的整个过程
程序被其他程序翻译成不同的格式hello程序的源文件虽然能够被人读懂,但为了能让它在系统上运行,每条c语句都要被其他程序转化为一系列的低级机器语言指令,然后这些指令按照一种可执行目标程序的格式打包好并以二进制磁盘文件的形式存放起来,才能在系统中运行。在unix系统上,从源文件到目标文件的转化是由编译器驱动程序完成的。gcc -o hello hello.c这条命令会让GCC编译器驱动程序读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello,这个翻译过程分为四个阶段:1.预处理原创 2020-12-10 18:36:25 · 2456 阅读 · 1 评论 -
Modern Binary Exploitation - 汇编基础
x86寄存器体系汇编基础; EAX EBX ECX EDX - 通用寄存器; ESP - 堆栈指针,指向当前栈帧的栈顶(底地址); EBP - 基指针,指向当前栈帧的栈底(高地址); EIP - 指令指针,指向CPU要执行的下一条指令的地址; 标志寄存器; ZF - 零标志,当一个操作的结果为0时,设置为1; CF - 进位标志,当一个操作的结果太大或者太小进而产生进位或借位时,设置为1; SF - 负数标志,当一个操作的结果为负数时,设置为1; 移动数据mov ebx, eax原创 2020-12-08 18:51:28 · 249 阅读 · 0 评论 -
计算机中信息的表示
CSAPP目录第一章 计算机系统漫游1.1 信息就是位+上下文1.2 程序被其他程序翻译成不同的格式1.3 了解编译系统如何工作是大有益处的1.4 处理器读并解释存储在存储器中的指令1.4.1 系统的硬件组成1.4.2 运行hello程序1.5 高速缓存至关重要1.6 存储设备形成层次结构1.7 操作系统管理硬件1.7.1 进程1.7.2 线程1.7.3 虚拟存储器1.7.4 文件1.8 系统之间...原创 2020-12-05 16:19:34 · 26091 阅读 · 4 评论