美文网首页
连载24:节表

连载24:节表

作者: 码农UP2U | 来源:发表于2020-03-23 22:38 被阅读0次

    节表也被称为是区块表,PE 文件中的数据是按照不同的访问属性在内存中存储的,不同的访问属性被安排在了不同的节(区块)中。而节表的作用就是来描述这些节(区块)的一个说明。

    节表的定义

    首先来看一下节表的数据结构,其定义如下:

    //
    // Section header format.
    //
    
    #define IMAGE_SIZEOF_SHORT_NAME              8
    
    typedef struct _IMAGE_SECTION_HEADER {
        BYTE    Name[IMAGE_SIZEOF_SHORT_NAME];
        union {
                DWORD   PhysicalAddress;
                DWORD   VirtualSize;
        } Misc;
        DWORD   VirtualAddress;
        DWORD   SizeOfRawData;
        DWORD   PointerToRawData;
        DWORD   PointerToRelocations;
        DWORD   PointerToLinenumbers;
        WORD    NumberOfRelocations;
        WORD    NumberOfLinenumbers;
        DWORD   Characteristics;
    } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
    
    #define IMAGE_SIZEOF_SECTION_HEADER          40
    

    上面的数据结构是节表的定义,严格意义上说,节表是由若干个 IMAGE_SECTION_HEADER 组成的,而单一的 IMAGE_SECTION_HEADER 充其量只是节表中的一个项。

    节表(节表项,也就是上面的 IMAGE_SECTION_HEADER 结构体)的长度是 40 个字节,这个长度也由一个宏 IMAGE_SIZEOF_SECTION_HEADER 给出。

    关于 IMAGE_SECTION_HEADER 结构体中各个属性的解释在下篇文章中给出。



    微信中搜索 “码农UP2U” 关注我的公众号吧!!!

    相关文章

      网友评论

          本文标题:连载24:节表

          本文链接:https://www.haomeiwen.com/subject/jvggyhtx.html