WEB开发网
开发学院网络安全黑客技术 “PE文件格式”1.9版 完整译文(附注释)(2) 阅读

“PE文件格式”1.9版 完整译文(附注释)(2)

 2007-01-14 20:15:21 来源:WEB开发网   
核心提示: 32位未使用标志,叫做“特征”(Characteristics);32位“时间日期戳”(同样按常用的time_t表示法),“PE文件格式”1.9版 完整译文(附注释)(2)(8),告诉你资源被创建的时间(如果此项被设置的话);16位&ldqu

32位未使用标志,叫做“特征”(Characteristics);

32位“时间日期戳”(同样按常用的time_t表示法),告诉你资源被创建的时间(如果此项被设置的话);

16位“主版本号”(MajorVersion)和16位“小版本号”(MinorVersion),以允许你据此维护资源的几个版本;

16位“已命名项目数”(NumberOfNamedEntries)和另一个16位的“ID项目数”(NumberOfIdEntries)。

紧随此结构后的是“已命名项目数”+“ID项目数”两结构体,它们都是“资源目录项”格式,都以名字开头。它们可能指向下一个“资源目录”或者指向实际的资源数据。

一个“资源目录项”由下面组成:

32位单元提供你它所描述的资源的ID或者是目录;

32位的到数据的偏移量或者是到下一个子目录的偏移量。

ID的含义取决于树中的层次;ID可能是一个数字(如果最高位为0)也可能是一个名字(如果最高位为1)。如果是一个名字,它的低31位就是从资源节原始数据的开始到这个名字(名字有16位长并由unicode的宽字符而不是0结尾符作为结束)的偏移量。

如果你位于根目录之中,且如果ID是一个数字的话,那么它指的就是下面的一种资源类型:

1:光标

2:位图

3:图标

4:菜单

5:对话框

6:字串表

7:字体目录

8:字体

9:快捷键

10:未格式化资源数据

11:信息表

12:组光标

14:组图标

16:版本信息

任何其它数字都是用户自定义的。任何有类型名的资源类型也是用户自定义的。

如果你处于(树的)下一层当中,此时ID一定是一个数字,且就是资源的一个特例的语言ID号;例如,你可以(同时)拥有澳大利亚英语、加拿大法语和瑞士德语等本地化形式的对话框,并且它们分享同一个资源ID。系统会根据线程的地点来选择要使用的对话框,反过来地点又反映了用户的“区域设置”。(如果资源找不到线程地点,系统将先使用一个中性的子语言资源作为地点,比如它将寻找标准法语而不是用户所拥有的加拿大法语;如果它还是找不到,就使用最小语言ID号的那个实例。必须注意,所有这些只工作于NT系统之上的。)

上一页  3 4 5 6 7 8 9 10  下一页

Tags:PE 文件 格式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接