WindowsPE 资源表

0x01IMAGE_RESOURCE_DIRECTORY

资源表分布图

WindowsPE 资源表

 

 

 查看一个exe 资源表

WindowsPE 资源表

 

 

 WindowsPE 资源表

 

 

4000位置 资源目录头的结构体

typedef struct _IMAGE_RESOURCE_DIRECTORY {
    DWORD   Characteristics;
    DWORD   TimeDateStamp;
    WORD    MajorVersion;
    WORD    MinorVersion;
    WORD    NumberOfNamedEntries;
    WORD    NumberOfIdEntries;
//  IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];
} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;

WindowsPE 资源表

 

 

 

WindowsPE 资源表

 

 

 WindowsPE 资源表

 

 

 0x02IMAGE_RESOURCE_DIRECTORY_ENTRY

接着就是资源目录项

//@[comment("MVI_tracked")]
typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
    union {
        struct {
            DWORD NameOffset:31;
            DWORD NameIsString:1;
        } DUMMYSTRUCTNAME;
        DWORD   Name;
        WORD    Id;
    } DUMMYUNIONNAME;
    union {
        DWORD   OffsetToData;
        struct {
            DWORD   OffsetToDirectory:31;
            DWORD   DataIsDirectory:1;
        } DUMMYSTRUCTNAME2;
    } DUMMYUNIONNAME2;
} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;

 

 

 

 WindowsPE 资源表

 

 

 WindowsPE 资源表

 

 

 看一下预定义16个标识

WindowsPE 资源表

 

 

 

WindowsPE 资源表

 

 

 WindowsPE 资源表

 

 

 可以看到分别对应 id,名字 4个结构体 03 05 0e 10 的id 站一个双子

WindowsPE 资源表

 

 

 WindowsPE 资源表

 

 高位为80 就是 高位1  地位代表  从资源表4000偏移30位置 就是下一个资源项 后面也是同样的偏移分别偏移50,68,80

WindowsPE 资源表

 

30位置又是IMAGE_RESOURCE_DIRECTORY 结构体

WindowsPE 资源表

 

 2个资源项 id是 1,2   下一级偏移位置在98,b0  如果有会继续递归下去 直到把所有的关系找全

WindowsPE 资源表

 

 可以看到没找到下一个了  高位也不是1了 说明这是最后一层 代表 id=407 偏移110

WindowsPE 资源表

 

 

rva=4160 大小=2e8  这一层分析结束  后面都是这样分析的 以此类推

 

 0x03IMAGE_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;

WindowsPE 资源表

 

 WindowsPE 资源表

 

 这个结构也上面推到到最后的结构 前2个值

WindowsPE 资源表

 

 接着看4160 这个地址 转换地址foa 也是4160

WindowsPE 资源表

 

 这些就是 图标的属性设置 具体单个内容都是类似结构体

WindowsPE 资源表

 

 可以在文件的图标组看到

WindowsPE 资源表

 

 WindowsPE 资源表

 

 26  相对图标组偏移 文件物理地址 可以通过更改这个地址来显示不同图标 其实算是图标的下标 需要保证ico大小相同

WindowsPE 资源表

 

 WindowsPE 资源表

 

 对应的第一个下标ico

WindowsPE 资源表

上一篇:Flash 脚本游戏开发教程第六课


下一篇:PS合成码头上超酷的的美女战士场景