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