20145307《信息安全系统设计基础》第五周学习总结PT2: 教材学习内容总结 之前有第一部分学习总结: http://www.cnblogs.com/Jclemo/p/5962219.html 以下为第二部分 执行汇编命令:gcc –s xxx.c –o xxx.s反汇编命令:objdump – ...
分类:
其他好文 时间:
2016-10-17 00:07:24
阅读次数:
188
第三章 程序的机器级表示 第二节 程序编码 一、机器级代码 1.机器级编程的两种抽象 (1)指令集结构ISA (2)机器级程序使用的存储器地址是虚拟地址 2.汇编代码的特点: 用可读性更好的文本格式来表示。 3.几个处理器: 程序计数器(CS:IP) 整数寄存器(AX,BX,CX,DX) 条件码寄存 ...
分类:
其他好文 时间:
2016-10-17 00:01:48
阅读次数:
244
X86 寻址方式经历三代: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全 2 8086的分段模式 3 IA32的带保护模式的平坦模式 CPU包含一组8个存储32位值的寄存器 存整数数据和指针:eax,ecx,edx,ebx,esi,edi,esp,ebp。 大多数情况下前六个都用作通 ...
分类:
其他好文 时间:
2016-10-16 23:59:15
阅读次数:
318
20145239《信息安全系统设计基础》第5周学习总结 教材学习内容 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全 8086的分段模式 IA32的带保护模式的平坦模式 -ISA(Instruction set architecture)。ISA简单来说就是指令集体系结构。定义了处理机状态 ...
分类:
其他好文 时间:
2016-10-16 23:57:20
阅读次数:
384
教材学习内容总结 书上有的内容我就不重复赘述了,只需要将部分重要的知识点归纳总结一下。 1.使用GDB的堆栈跟踪功能(GDB中有很多针对调用堆栈的命令,都需要一个目标栈帧,例如打印局部变量值的命令) 在栈帧之间切换 frame args 将当前栈帧设置为args(编号或Address)指定的栈帧,并 ...
分类:
其他好文 时间:
2016-10-16 21:42:48
阅读次数:
288
程序的机器级表示 GCC C语言编译器以汇编代码的形式产生输出,汇编代码是机器代码的文本表示,给出程序的每一条指令。 intel处理器的模型: 8086: 它是第一代单芯片、16位微处理器之一。体系结构上讲只有20位长。 i386: 体系结构扩展到了32位,Linux和Windows系列操作系统都是 ...
分类:
其他好文 时间:
2016-10-16 21:33:55
阅读次数:
216
教材内容概述 3.1 历史观点 X86 寻址方式经历三代: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全2 8086的分段模式3 IA32的带保护模式的平坦模式 3.2 程序编码 计算机系统使用了多种不同的抽象,对机器级编程来说,两种抽象尤为重要: 机器级程序的格式和行为,定义为“指 ...
分类:
其他好文 时间:
2016-10-16 21:33:12
阅读次数:
202
20145317《信息安全系统设计基础》第五周学习总结2 教材学习内容总结 X86 寻址方式经历三代: 程序编程 1、代码含义 -01 表示使用第一级优化。优化的级别与编译时间和最终产生代码的形式都有关系,一般认为第二级优化-02 是较好的选择。 -o 表示将p1.c编译后的可执行文件命名为p -0 ...
分类:
其他好文 时间:
2016-10-16 21:31:27
阅读次数:
252
教材学习内容总结 程序编码 GCC将源代码转化为可执行代码的步骤: C预处理器——扩展源代码-生成.i文件 编译器——产生两个源代码的汇编代码-——生成.s文件 汇编器——将汇编代码转化成二进制目标代码——生成.o文件 链接器——产生可执行代码文件 机器级代码 1.机器级编程的两种抽象(1)指令集结 ...
分类:
其他好文 时间:
2016-10-16 21:27:33
阅读次数:
258
20145331 《信息安全系统设计基础》第5周学习总结 教材学习内容总结 3.2 1、产生汇编代码(机器级代码):gcc -s xxx.c -o code.s ,代码中以“.”开头的是指导汇编器和链接器的命令,省略不看。 2、汇编一个代码:gcc -c code.c -o code.o,产生的co ...
分类:
其他好文 时间:
2016-10-16 19:36:35
阅读次数:
242