20145313张雪纯《信息安全系统设计基础》第5周学习总结
教材学习内容总结
本周学习的是课本第三章“程序的机器级表示”。主要内容是汇编和反汇编。上学期选了汇编这门课,但是和本周的学习内容还是有所差别。上学期的学习重点在于编写简单的汇编程序,这次的学习目标主要在于找到C语言和汇编语言的对应关系,现在直接编写汇编程序的情况已经很少了,但是掌握一定的汇编知识可以让我们解决程序中的漏洞和问题。
实验练习
代码(后修改删除了第一行):
编译成汇编代码:
删除以.
开头的语句:
使用gdb的bt/frame/up/down 指令动态查看调用栈帧的情况
家庭作业
3.54:
C语言代码:
编译为汇编代码:
课后作业中的问题和解决过程
- 一个尴尬的问题:在做实验练习的时候,习惯性地在最前加上了
include <stdio.h>
,没想到编译的时候无法通过,删除以后才可以。不明白为什么...一脸懵逼。 使用gdb的bt/frame查看调用栈帧的情况时显示
no stack
。- 用
run
调试时,直接出结果,程序停止运行了,改用start
+n
单步执行后可查看。
- 用
本周代码托管截图
代码托管:http://git.oschina.net/entropy_z/Linux
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/1 | 20/20 | |
第二周 | 300/500 | 1/2 | 18/38 | |
第三周 | 500/1000 | 1/3 | 22/60 | |
第四周 | 150/1150 | 1/4 | 30/90 |