WEB开发网
开发学院网络安全黑客技术 PE文件格式(3) 阅读

PE文件格式(3)

 2007-01-14 20:15:00 来源:WEB开发网   
核心提示:ID的意义依赖与在树内的层次,ID可能是一个数字(高位清0)或者名字(高位置1),PE文件格式(3),如果是名字,低31位是从资源节的原始数据开始到名字的偏移量,其余31位是从资源原始数据开始到下一个目录的偏移量,格式还是IMAGE_RESOURCE_DIRECTORY后面跟着IMAGE_RESOURCE_DIRECT

ID的意义依赖与在树内的层次,ID可能是一个数字(高位清0)或者名字(高位置1),如果是名字,低31位是从资源节的原始数据开始到名字的偏移量。名字是16位长度,以宽字符结尾,不是0。

如果在根目录下,如果ID是数字,是资源类型:

1:cursor

2:bitmap

3:icon

4:menu

5:dialog

6:stringtable

7:fontdirectory

8:font

9:accelerators

10:unformattedresourcedata

11:messagetable

12:groupcursor

14:groupicon

16:versioninformation

任何其他数字都是自定义的,任何带类型名字的资源类型都是自定义的。更深一层的话,ID是资源ID或者资源名字。

如果再深入一层,ID必须是数字,它是特定资源实例的语言ID,例如,可以具有不同本地化的语言的对话框。他们使用统一的资源ID,系统会选择基于线程的地域加载对话框,反过来反应用户的区域设置。如果对于线程本地没有资源发现,系统首先试图发现中立语言为资源的区域。如果还不能够发现,带有最小语言ID的实例将被使用。解码语言ID,拆分为主语言ID和子语言ID,使用宏PRIMARYLANGID()和SUBLANGID(),分别是0-9,10-15。其值定义在"winresrc.h".

语言资源只被加速键,对话框,菜单,串表支持,其他资源类型必须是LANG_NEUTRAL/SUBLANG_NEUTRAL.

要找出资源目录的下级目录是否是另一个目录,检查偏移量的高位,如果置1,其余31位是从资源原始数据开始到下一个目录的偏移量。格式还是IMAGE_RESOURCE_DIRECTORY后面跟着IMAGE_RESOURCE_DIRECTORY_ENTRYs项目.

如果高位清0,偏移量是从节开始到资源原始数据描述结构(一个IMAGE_RESOURCE_DATA_ENTRY)的偏移量。一个IMAGE_RESOURCE_DATA_ENTRY包括

1 2 3 4 5 6  下一页

Tags:PE 文件 格式

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