快速业务通道

对PE资源的研究

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30

前言:没什么好说的,发现这方面的资料全是英文的,于是我一边研究,一边翻译,一边写出自己的心得。

希望大家尊重我的劳动成果,转贴保持完整。

资源一般使用树来保存,通常包含3层,在NT下,最高层是类型,然后是名字,最后是语言。

一个PE文件是否包含资源文件,通常检测块表(Section Table)中是否含有''.rsrc'',不过这个方法对有些PE文件无效。

一个类型表结构如下

——————————————————————————

| RESOURCE DIRECTORY |

——————————————————————————

| RESOURCE DATA |

——————————————————————————

资源表1(Resource File Layout)

其中的资源目录(RESOURCE DIRECTORY)结构如下:

——————————————————————————

| RESOURCE FLAGS |

——————————————————————————

| TIME/DATE STAMP |

——————————————————————————

| MAJOR VERSION |MINOR VERSION |

——————————————————————————

| # NAME ENTRY |# ID ENTRY |

——————————————————————————

| RESOURCE DIR ENTRIES |

——————————————————————————

×ê?′±í2£¨Resource Table Entry£?

?úDELPHI?Dμ?éê?÷

{ Resources }

PIMAGE_RESOURCE_DIRECTORY = ^IMAGE_RESOURCE_DIRECTORY;

IMAGE_RESOURCE_DIRECTORY = packed record

Characteristics : DWORD;

TimeDateStamp : DWORD;

MajorVersion : WORD;

MinorVersion : WORD;

NumberOfNamedEntries : WORD;

NumberOfIdEntries : WORD;

end

???D£o

RESOURCE FLAGS

í¨3£éè???a0

TIME/DATE STAMP

×ê?′±àò??÷?¨á¢′?×ê?′μ?ê±??/è??ú£??é?ü?a0

MAJOR/MINOR VERSION

版本信息

# NAME ENTRY

使用名字的资源条目的个数,包含一个使用名字的目录条目的数组。

# ID ENTRY

使用ID数字的资源条目的个数,包含一个32位的整数ID号,同用名字一样。

这个目录紧接着会是一个不定长度的目录条目,不管用的名字还是ID,都是用升序排列。

这个不定长度的目录结构如下:

31 0

———&mdash

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号