羽夏壳世界——基础篇
写在前面
??此系列是本人一个字一个字码出来的,包括代码实现和效果截图。 如有好的建议,欢迎反馈。码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作。如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我。
你如果是从中间插过来看的,请仔细阅读 ,方便学习本教程。
简述
??本篇文章基础篇介绍PE结构,对于编程和Win API调用作为前置知识,敬请自学。
??PE文件,英文全称为Portable Execute,是Windows下可执行文件的总称,常见的有DLL、EXE、SYS等。事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。那Windows是怎么区分可执行文件和非可执行文件的呢?这就涉及到PE文件结构了,就算你是上面常见的扩展名,如果不符合该结构,也是不能够被加载的。
??学习本篇教程并不能完整介绍PE结构,本篇文章仅介绍与羽云保护这个加密壳相关的PE相关的知识,介绍的内容如下:
- PE 文件必须包含的可执行文件头,比如 Dos 头、NT 头等;
- 节区;
- 导入表、重定位表
??本基础篇必不会介绍的内容,如果感兴趣请自行找其他教程进行学习:
- 资源表、延时导入表
- 与 .NET 相关的扩展结构
??本基础篇会和 有重合部分,但会有实验部分,并不是完完整整的复制和照抄。如果你学过PE结构,你可以把本基础篇作为您的复习内容。
??由于本篇的详细目录已经在 介绍过了,这里就不赘述了。