pe节表

本文介绍了PE文件的标准结构,包括如何定位可选PE头及节表。详细解释了IMAGE_SECTION_HEADER结构体成员的作用,如Name、VirtualAddress等,并阐述了它们在PE文件中的作用。

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

doc头lfanew偏移,可以找到标准pe头,标准pe头结束就是可选pe头,可选pe头大小不确定。
怎么找节表:计算可选pe头的大小后,doc+标准pe+可选pe
标准节表内:SizeOfOptionalHeader可选pe头大小
节表:线性结构,多少个,在标准pe头的numberofSection(节)决定有多少个。

...
#define IMAGE_SIEZOF_SHORT_NAME   8
typedef struct _IMAGE_SECTION_HEADER{
    BYTE Name[IMAGE_SIEZOF_SHORT_NAME];
        union{
            DWORD PhysicalAddress;
            DWORD VirtualSize;
        }Misc;
    DWORD VirtualAddress;
    DWORD SizeOfRawData;
    DWORD PointerToRawData;
    DWORD PointerToRlocations;
    WORD  NumberOfRelocations;
    WORD  NumberOFLinenumbers;
    DWORD Characteristics;
}IMAGE SECTION HEADER. *PIMAGE SECTION HEADER;

...

1、Name 8个字节 一般情况下是以“\0”结尾的ASCII码字符串来标识的名称,内容可以自定义。
注意:该名称并不遵守必须以“\0”结尾的规律,如果不是以“\0”结尾,系统会截取8个字节的长度进行处理。
2、Misc 双字 是该节在没有对齐前的真是尺寸,该值可以不准确。//可改
3、VirtualAddress 节区在内存中的偏移地址。加上ImageBase才是在内存中的真正地址。
4、SizeOfRawData 节在文件中对齐后的尺寸
5、PointerToRawData 节区在文件中的偏移
//6、DWOED PointerToRelocations 在obj文件中使用 对exe无意义
//7、DWOED PointerToLinenumbers 行号表的位置 调试的时候使用
//8、WOED NumberOfRelocations 在obj文件中使用 对exe无意义
//9、WOED NumberOfLinenumbers行号表中行号的数量 调试的时候使用
10、charactistics 节的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值