20145202 《信息安全系统设计基础》第5周学习总结(1)
一周的博客分为两次我打算这一次博客先把实验楼中学习到的内容总结一下,书上总结的我总结了一些还没有成型所以这一次就没有放到里面。
教学内容总结
XXXX
实验楼中的学习
我先按照实验楼中的要求吧练习的题目做了一下。
先把代码敲好然后输入gcc -S -omain.s main.c -m32就出现了汇编代码。
实验楼中的知识点总结
- X86寻址方式经历三代:
1.DOS时代的平坦模式,不区分用户空间和内核空间,很不安全。
2.8086的分段模式。
3.IA32的带保护模式的平坦模式。 - gcc -S xxx.c -o xxx.s可以获得汇编代码,也可以用objdump -d xxx反汇编,建立函数应调用栈帧。
- 二进制文件可以用od命令查看,也可以用gdb的x命令来查看。如果输入内容过多的话可以用more或者less命令结合管道查看。
- esi和edi可以用来操作数组,esp和ebp可以用来操作栈帧。
- ax中ah和al时独立的。
- 操作数有三种类型:立即数,寄存器,存储器。
- 有效地址的计算方式:lmm(Eb,Ei,s)=lmm+R[Eb]+R[Ei]*s.
- mov的作用时赋值。
- push和pop时栈中使用的,栈的特点是后入先出。而且栈顶元素的地址使所有栈中元素地址中最低的。
- 指针就是地址,局部变量保存在寄存器中。
代码运行中的问题和解决过程
再一次代码的操作中我为了简便使用了windows下的ctrl+v(复制),后来发现这样做并不能复制而且我再次编辑这个代码的时候出现了这个问题。
我并不知道应该如何应对就删掉了然后从新vim了一个代码
代码托管
http://git.oschina.net/tuolemi/haha
之前一直是通过复制的方式来吧代码弄到马云上,后来感觉这样确实浪费时间浪费生命这次我就使用了git进行了推送,所以内容比较多
我把git里的指令总结了一下,基本上就按照图上的指令按顺序输入就可以将代码推送了。