zoukankan      html  css  js  c++  java
  • WindowsPE 资源表

    0x01IMAGE_RESOURCE_DIRECTORY

    资源表分布图

     查看一个exe 资源表

     

    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;

     

     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;

     

     

     看一下预定义16个标识

     

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

     

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

    30位置又是IMAGE_RESOURCE_DIRECTORY 结构体

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

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

    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;

     

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

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

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

     可以在文件的图标组看到

     

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

     

     对应的第一个下标ico

    从此山高路远,纵马扬鞭。愿往后旅途,三冬暖,春不寒,天黑有灯,下雨有伞。此生尽兴,不负勇往。
  • 相关阅读:
    超好用的Redis管理及监控工具,使用后可大大提高你的工作效率!
    MySQL,Oracle,PostgreSQL,DB2,mongoDB,Hive, SAP HANA 数据库web维护客户端管理工具
    DB2定时循环同步数据到MySQL
    SQL Server数据同步到MySQL
    powerDesign导出word操作步骤
    数据库工单的主要业务流程
    Redshift数据库客户端工具的使用
    如何提高数据库管理质量?
    远程管理mysql数据库
    SQL工单管理
  • 原文地址:https://www.cnblogs.com/feizianquan/p/15085006.html
Copyright © 2011-2022 走看看