zoukankan      html  css  js  c++  java
  • PE文件的资源

    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;

  • 相关阅读:
    使用FormData,进行Ajax请求并上传文件
    oracle视图详解
    Unicode和UTF-8之间的关系
    如何访问tomcat所在服务器的其他盘符的资源。
    React首次渲染过程
    react知识点总结
    WebSocket基础
    gulp 批量添加类名 在一个任务中使用多个文件来源
    Chrome浏览器取消INPUT自动记忆下拉框
    Angular7 Drag and Drop
  • 原文地址:https://www.cnblogs.com/linxr/p/1927005.html
Copyright © 2011-2022 走看看