PE的些许知识

本文详细介绍了PE文件的组成,包括IMAGE_DOS_HEADER、stub、IMAGE_NT_HEADERS32等部分。阐述了各部分的字节大小、定位方式及关键参数含义,如PE标志、程序执行入口、内存对齐值等,对理解PE文件结构有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PE的组成

IMAGE_DOS_HEADER  (64bytes)  +0x3c定位PE标志

stub(填充区域)

IMAGE_NT_HEADERS32(4+20+224 = 248bytes)

    PE标志           DWORD     4bytes

    IMAGE_FILE_HEADER(20bytes)

                    +0x00 Machine               WORD

                    +0x02 NumberOfSections      WORD

                    +0x10 SizeOfOptionalHeader  WORD 32BIT---E0    64BIT---F0  

                    +0x12 Characteristics       WORD exe(010f)    dll(2102)    

    IMAGE_OPTIONAL_HEADER32(224bytes)

                    +0x00 Magic    WORD  PE32(010B) PE32+(020B 64位PE)

                    +0x02 MajorLinkerVersion BYTE

                    +0x03 MinorLinkerVersion BYTE

                    +0x04 SizeOfCode  DWORD 所有代码区块的大小

                    +0x10 AddressOfEntryPoint DWORD(PE + 0x28 2行半 RVA + base = OEP)程序执行入口

                    +0x14 BaseOfCode DWORD(RVA PE + 0x2C)代码区块起始RVA

                    +0x18 BaseOfData DWORD(RVA PE + 0x30)数据区块起始RVA 

                    +0x1C ImageBase  DWORD 程序默认载入基地址 PE标志3行第二个4字节对应的值

                    +0x20 SectionAlignment DWORD 内存对齐值

                    +0x24 FileAlignment    DWORD 文件对齐值

                    +0x38 SizeOfImage      DWORD 映像载入内存后的总大小

                    +0x3C SizeOfHeaders    DWORD DOS头+PE文件头+区块表的大小

        IMAGE_DATA_DIRECTORY(16 * 8 = 128bytes)

                    +0x00 DWORD RVA 数据块的起始RVA

                    +0x04 DWORD Size

IMAGE_SECTION_HEADER (40Bytes 2行半)

        +0x00 Name                     BYTES[8] 区块名字

        +0x08 VirtualSize             DWORD 区块的尺寸

        +0x0C VirtualAddress      DWORD 区块的RVA

        +0x10 SizeOfRawData    DWORD 在文件中对齐后的尺寸

        +0x14 PointerToRawData DWORD 在文件中的偏移

        +0x24 Characteristics  DWORD 区块属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值