羽夏壳世界——基础篇小结

写在前面

  此系列是本人一个字一个字码出来的,包括代码实现和效果截图。如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我

你如果是从中间插过来看的,请仔细阅读 羽夏壳世界——序 ,方便学习本教程。

小结

  由于我们介绍的基础知识,我做出如下提问,如果发现自己记不清楚或者不会了,回去看,当你感觉十分熟悉的时候,就可以暂且踏入实现篇了。

  • 如何校验 PE 文件是否合法?
  • 如何获得节区头的个数?
  • 如何判断程序是32位还是64位?
  • RVA 和 FOA 是什么?它们之间是如何转化的?
  • 如何解析导入表?
  • 如何解析重定位表?
  • 在导入表中,IAT 和 INT 之间的关系是什么?
  • 在导入表和重定位表,是如何判断里面有几个的?

  如下是对于实现篇需要用到的知识的几个问题,如果不会建议从网上的资料进行补缺。

  • 文件的本质是什么?扩展名的具体作用是啥?
  • 文本文件和普通的二进制文件有什么区别?
  • 在 PE 中存储的代码是源代码吗?
  • 对于编译型程序,代码和数据的区别是什么?

  由于实现篇使用的是C++,且会频繁的使用指针,如果不会的话,最好学习 羽夏看C语言 系列教程,否则可能在阅读代码上会有点理解的障碍。

下一篇

  羽夏壳世界——实现篇

posted @ 2022-04-10 16:14  寂静的羽夏  阅读(126)  评论(0编辑  收藏  举报