[From 2.3]托管PE文件的组成
托管PE文件由以下四部分组成:
-
PE32(+)头:是Windows要求的的标准信息。
-
CLR头:是一个小的信息块,是需要CLR的模块(托管模块)特有的。
-
版本号:这个头包含模块生成时所面向的CLR的maior(主)和minor(次)版本号;
-
标志:一些(flag)
-
一个 MethodDef token:该token指定了模块的入口方法(前提时该模块是CUI,GUI或Windows Store执行体);
-
一个可选的强名称数据签名;还包含模块内部的一些元数据表的大小和偏移量
-
元数据:元数据是由几个表构成的二进制数据块。有以下三种表
- 定义表(definition table)(下图,表2-1 常用的元数据定义表)
- 引用表(reference table)(下图,表2-2常用的引用元数据表)
- 清单表(manifest table)(下图,表2-3常用的清单元数据表)
- IL: