PE文件结构

    技术2022-05-11  64

    了解PE文件结构对于分析病毒来说很重要,虽然这方面的资料在网上绰绰有余,我还是想写写我自己觉得更有用的一些东西。

    3ch   pe,0,0 字符串(Signature)的位置从这里开始就是pe文件头

    PE header 的正式命名是 IMAGE_NT_HEADERS。

    IMAGE_NT_HEADERS STRUCT     Signature dd ?     FileHeader IMAGE_FILE_HEADER <>     OptionalHeader IMAGE_OPTIONAL_HEADER32 <> IMAGE_NT_HEADERS ENDS

    Signature PE标记,一共4个字节,值为50h, 45h, 00h, 00h(PE/0/0)。

    FileHeader 一共14h字节,该结构域包含了关于PE文件物理分布的一般信息。

    IMAGE_FILE_HEADER STRUCT     Machine WORD ?     NumberOfSections WORD ?     TimeDateStamp dd ?     PointerToSymbolTable dd ?     NumberOfSymbols dd ?     SizeOfOptionalHeader WORD ?     Characteristics WORD ? IMAGE_FILE_HEADER ENDS

    OptionalHeader 该结构域包含了关于PE文件逻辑分布的信息。

    下面从pe文件头开始介绍一些重要的数据位置

    28 程序入口的相对地址RVA2c 代码段的起始相对位置RVA30 数据段的起始相对位置RVA34 加载内存的首选基地址imageBase78 引出表RVA7c 引出表大小80 引入表RVA84 引入表大小f8 节表开始:节名100 节在内存中的大小104 节在内存中的起始RVA108 节在文件中的大小10c 节在文件中的偏移11c 节的属性 


    最新回复(0)