20145237《信息安全系统设计基础》第5周学习总结(1)
教材学习内容总结
X86 寻址方式经历三代:
1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全
2 8086的分段模式
3 IA32的带保护模式的平坦模式
gcc -S xxx.c -o xxx.s 获得汇编代码,也可以用objdump -d xxx 反汇编; 注意函数前两条和后两条汇编代码,所有函数都有,建立函数调用栈帧。
注意: 64位机器上想要得到32代码:gcc -m32 -S xxx.c
二进制文件可以用od 命令查看,也可以用gdb的x命令查看。
有些输出内容过多,我们可以使用 more或less命令结合管道查看,也可以使用输出重定向来查看。
Linux和Windows的汇编格式有点区别:ATT格式和Intel格式。
操作数的三种类型:立即数、寄存器、存储器。
计算方式 Imm(Eb,Ei,s) = Imm + R[Eb] + R[Ei]*s
MOV相当于C语言的赋值“=”
指针就是地址;局部变量保存在寄存器中。
栈顶元素的地址是所有栈中元素地址中最低的。
教材学习中的问题和解决过程
我按照试验楼的内容输入并联系了一些代码
code.c此文件的汇编代码
code.o查看二进制
代码调试中的问题和解决过程
我按照卢肖明的博客进行git的安装,但是最后出现了此问题 ,到现在也没有解决。
下面是我安装git的过程
其他(感悟、思考等,可选)
之前几周的学习我确实没有全部按照老师的要求完成任务,所以导致成绩不理想,今后我一定认真完成每周任务。