PE文件的资源
2010-07-29 17:16
211 查看
1. PE文件的资源是以树形结构存储的。
2. 资源目录:
typedef struct
{
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
WORD NumberOfNamedEntries;
WORD NumberOfIdEntries;
}IMAGE_RESOURCE_DIRECTORY;
IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];
>
DirectoryEntries紧跟在IMAGE_RESOURCE_DIRECTORY之后,
个数是 = NumberOfNamedEntries + NumberOfIdEntries 。
typedef struct
{
DWORD Name;
DWORD OffsetToData;
}IMAGE_RESOURCE_DIRECTORY_ENTRY;
OffsetToData这字段若不是另一个资源目录的偏移位置,就是指向特定资源实体的一个指针。如果最
高位(0x80000000 )设立,表示这个目录项目指向另一个子目录,而剩余的 31 个位
元就是另一个 IMAGE_RESOURCE_DIRECTORY 的偏移位置(从resource section 算
起)。如果最高位没有设立,剩余的 31 个位就是某一个
IMAGE_RESOURCE_DATA_ENTRY 的偏移位置(从resource section 算起)。
IMAGE_RESOURCE_DATA_ENTRY 结构内含资源原始资料的位置、大小、以及code
page 。
DirectoryEntries[]
---------
---> 下一个目录 或者是 IMAGE_RESOURCE_DATA_ENTRY
---------
---------
typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
DWORD OffsetToData;
DWORD Size;
DWORD CodePage;
DWORD Reserved;
} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
2. 资源目录:
typedef struct
{
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
WORD NumberOfNamedEntries;
WORD NumberOfIdEntries;
}IMAGE_RESOURCE_DIRECTORY;
IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];
>
DirectoryEntries紧跟在IMAGE_RESOURCE_DIRECTORY之后,
个数是 = NumberOfNamedEntries + NumberOfIdEntries 。
typedef struct
{
DWORD Name;
DWORD OffsetToData;
}IMAGE_RESOURCE_DIRECTORY_ENTRY;
OffsetToData这字段若不是另一个资源目录的偏移位置,就是指向特定资源实体的一个指针。如果最
高位(0x80000000 )设立,表示这个目录项目指向另一个子目录,而剩余的 31 个位
元就是另一个 IMAGE_RESOURCE_DIRECTORY 的偏移位置(从resource section 算
起)。如果最高位没有设立,剩余的 31 个位就是某一个
IMAGE_RESOURCE_DATA_ENTRY 的偏移位置(从resource section 算起)。
IMAGE_RESOURCE_DATA_ENTRY 结构内含资源原始资料的位置、大小、以及code
page 。
DirectoryEntries[]
---------
---> 下一个目录 或者是 IMAGE_RESOURCE_DATA_ENTRY
---------
---------
typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
DWORD OffsetToData;
DWORD Size;
DWORD CodePage;
DWORD Reserved;
} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
相关文章推荐
- AIX资源监控与调制工具
- net常用资源网站
- Android字符串资源及其格式化
- Android以最省内存的方式读取本地资源的(转)
- Linux安装时 资源临时不可用 的问题解决方法
- android 资源文件找不到
- webapp新体验Rem实现移动端网页适配详解资源
- Android xml资源文件中@、@android:type、@*、?、@+含义和区别
- iOS完整App资源收集
- 加载外部资源
- android通过反射获取资源ID的工具类
- Python 资源共享
- 转贴:Debian 安装资源
- 关于在Vista下资源中的程序大图标(128*128, 256*256)无法正确显示的问题
- domino平台缓存静态html资源
- Python学习资源
- 同一进程中的线程究竟共享哪些资源
- 计算机视觉、数字图像处理等领域相关资源
- python的数据科学资源
- 资源依赖 appt -I android.jar -I xxx.apk