本周咱们了解了在计算机系统中程序的机器级表示。经过反汇编器能够将机器码转化为相似汇编代码的格式,而该章节内容的主要介绍了在x86-64中的汇编指令以及汇编指令与c代码之间的转化。虽然一样是汇编,但与咱们上学期学习的8086中的汇编语句有着必定的区别,如下是本章节须要注意的内容:html
objdump -d 文件名+后缀
能够将机器码转化为汇编代码,这是进行分析的重要前提条件。因为有上学期8086下汇编的基础,对于教材内容的理解并无问题,只是须要注意x86-64汇编语言与8086汇编细节部分的区别,并熟悉x86-64中修改以及添加的概念以及指令。vim
主要是练习将生成的.s汇编文件经过vim进行查看,并经过objdump命令来将.o文件进行反汇编,运行结果如图:
安全
问题一:
问题一解析:字符串与字符,ascii码与字符要区分清楚。学习
本周内容的重点是如何看懂由机器码反编译而来的基于x86-64的汇编代码,在学习过程当中能够参考8086中的汇编语言,这能够必定程度上减轻咱们的负担,但必定要注意与8086的区别,不能够用旧有的思惟方式看待x86-64中的问题。虽然能够经过之前的内容来方便咱们的理解,但实际上本章的内容仍然十分繁琐,须要咱们有必定的耐心。编码
博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | ||
---|---|---|---|---|
目标 | 30篇 | 400小时 | ||
第一周 | 1/1 | 13/13 | ||
第二周 | 1/2 | 22/35 | ||
第三周 | 1/3 | 30/65 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进本身的计划能力。这个工做学习中很重要,也颇有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。设计
参考:软件工程软件的估计为何这么难,软件工程 估计方法指针