羽夏壳世界——基础篇小结
写在前面
??此系列是本人一个字一个字码出来的,包括代码实现和效果截图。如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。
你如果是从中间插过来看的,请仔细阅读 ,方便学习本教程。
小结
??由于我们介绍的基础知识,我做出如下提问,如果发现自己记不清楚或者不会了,回去看,当你感觉十分熟悉的时候,就可以暂且踏入实现篇了。
- 如何校验 PE 文件是否合法?
- 如何获得节区头的个数?
- 如何判断程序是32位还是64位?
- RVA 和 FOA 是什么?它们之间是如何转化的?
- 如何解析导入表?
- 如何解析重定位表?
- 在导入表中,IAT 和 INT 之间的关系是什么?
- 在导入表和重定位表,是如何判断里面有几个的?
??如下是对于实现篇需要用到的知识的几个问题,如果不会建议从网上的资料进行补缺。
- 文件的本质是什么?扩展名的具体作用是啥?
- 文本文件和普通的二进制文件有什么区别?
- 在 PE 中存储的代码是源代码吗?
- 对于编译型程序,代码和数据的区别是什么?
??由于实现篇使用的是C++,且会频繁的使用指针,如果不会的话,最好学习 系列教程,否则可能在阅读代码上会有点理解的障碍。
下一篇
??羽夏壳世界——实现篇