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

    一、资源的树形结构

    二、有关资源的数据结构

    (1)

    IMAGE_RESOURCE_DIRECTORY struct

    +00h  Characteristics              dd

    +04h  TimeDateStamp            dd

    +08h  MajorVersion                dw

    +0ah  MinorVersion                dw

    +0ch  NumberOfNameEntry     dw             ;使用名字命名的资源条目数量

    +0eh  NumberOfIdEntry          dw             ;使用id命名的资源条目数量,

    IMAGE_RESOURCE_DIRECOTRY ends

    资源条目数量=NumberOfNameEntry + NumberOfIdEntry,即IMAGE_RESOURCE_DIRECTORY_ENTRY的数量

     (2)

    IMAGE_RESOURCE_DIRECTORY_ENTRY struct

    +00h  Name1                 dd            

    +04h  OffsetToData        dd            

    IMAGE_RESOURCE_DIRECTORY_ENTRY ends

    说明:

    Name1:位31为0,表示的id值,为1,表示的是指向名字IMAGE_RESOURCE_DIR_STRING_U的偏移指针,注意是相对资源首地址的偏移。

    OffsetToData:当为1、2级目录时,此时位31为1,指向下级目录IMAGE_RESOURCE_DIRECOTRY首地址,当为3级目录时,此时位31为0,指向  IMAGE_RESOURCE_DATA_ENTRY

    Name1和OffsetToData如果为偏移时,指的是相对资源首地址的偏移

    (3)

     IMAGE_RESOURCE_DIR_STRING_U struct

    +00h  Length              dw             ?      ;字符串的长度

    +02h  NameString         WCHAR      ?      ;UNICODE字符串,字对齐的、长度可变,由Length指明Unicode字符串的长度

    IMAGE_RESOURCE_DIR_STRING_U ends

    (4)

    IMAGE_RESOURCE_DATA_ENTRY struct

    +00h  OffsetToData                    dd             ;资源数据的RVA

    +04h  Size                                 dd            ;资源数据的长度

    +08h  CodePage                         dd          

    +0ch  Reserved                          dd

    IMAGE_RESOURCE_DATA_ENTRY ends

  • 相关阅读:
    ab(http)与abs(https)压测工具
    Q_DECLARE_PRIVATE与Q_DECLARE_PUBLIC
    QMetaObject::connectSlotsByName
    使用QStringBuilder进行字符串连接
    源码必须是UTF-8,QString需要它
    Qt开发中文显示乱码
    qDebug 的使用
    qt 4.6 qmake Reference
    qmake-variable-reference
    Qt学习网站
  • 原文地址:https://www.cnblogs.com/guanlaiy/p/2490091.html
Copyright © 2011-2022 走看看