2017-2018-1 20155307 《信息安全系统设计基础》第5周学习总结

2017-2018-1 20155307 《信息安全系统设计基础》第5周学习总结

教材学习内容总结

一、机器级代码
指令集结构ISA和机器级程序使用的存储器地址是虚拟地址
用可读性更好的文本格式来表示。
程序计数器(CS:IP)
整数寄存器(AX,BX,CX,DX)
条件码寄存器(OF,SF,ZF,AF,PF,CF)
浮点寄存器
一条机器指令只执行一个非常基本的操作。
输入odjdump -d即可实现反汇编
机器代码和它的反汇编表示的一些特性:
IA32指令长度从1到15个字节不等
设计指令格式的方式是,从某个给定位置开始,可以将字节唯一的解码成机器指令
反汇编器只是基于机器代码文件中的字节序列来确定汇编代码,不需要访问程序的源代码或汇编代码
反汇编器使用的指令命名规则与GCC生成的汇编代码使用的有些差别
ATT和INTEL的汇编代码格式有所差别。
二、代码示例
可以试一下反汇编的功能,

od sub.o | more
od sub.o > sub.txt

执行mostore,看看.s文件,

发现执行完汇编之后有反汇编之后,命令都会被加一个q的后缀

教材学习中的问题和解决过程

(一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )

本章内容关于反汇编内容比较容易理解,最后的指数和浮点数运算指令感觉还可以,

代码托管

上周考试错题总结

main.c 调用了静态库libmath.a中的函数,编译main.c的命令是()
gcc -static main.c ./libmath.a -o main
gcc -static main.c -L. -lmath -o main
这两个答案都对

gcc hello.c产生的a.out属于()
可执行目标文件

Linux中,目标文件XXX.o中的代码和数据节是从地址0开始的。

很多的错题都是因为没注意看多选还是单选,导致只选了一个答案,

结对及互评

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五周 300/1600 2/11 20/110
posted @ 2017-10-22 20:54  专业打劫三十年  阅读(148)  评论(0编辑  收藏  举报