PEHeader 类

定义

表示可移植可执行文件(PE)文件标头。

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
继承
PEHeader

示例

此示例演示如何从 PE 标头读取信息:

// Open the Portable Executable (PE) file
using var fs = new FileStream(@"Example.dll", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
using var peReader = new PEReader(fs);

// Display PE header information
if (peReader.PEHeaders.PEHeader is PEHeader header)
{
    Console.WriteLine($"Image size, bytes:   {header.SizeOfImage}");
    Console.WriteLine($"Image base:          0x{header.ImageBase:X}");
    Console.WriteLine($"File alignment:      0x{header.FileAlignment:X}");
    Console.WriteLine($"Section alignment:   0x{header.SectionAlignment:X}");
    Console.WriteLine($"Subsystem:           {header.Subsystem}");
    Console.WriteLine($"Dll characteristics: {header.DllCharacteristics}");
    Console.WriteLine($"Linker version:      {header.MajorLinkerVersion}.{header.MinorLinkerVersion}");
    Console.WriteLine($"OS version:          {header.MajorOperatingSystemVersion}.{header.MinorOperatingSystemVersion}");
}

注解

PE 文件头格式由 PE 规范定义。 此属性使用 PEHeader 此类。

属性

名称 说明
AddressOfEntryPoint

获取将 PE 文件加载到内存中时相对于映像基的入口点的地址。

BaseOfCode

获取映像加载到内存中时相对于映像基的起始代码部分的地址。

BaseOfData

获取图像加载到内存中时相对于映像基的起始数据部分的地址。

BaseRelocationTableDirectory

获取基重定位表项。

BoundImportTableDirectory

获取绑定导入表项。

CertificateTableDirectory

获取指向属性证书表的证书表条目。

CheckSum

获取图像文件校验和。

CopyrightTableDirectory

获取版权表条目。

CorHeaderTableDirectory

获取 CLI 标头表项。

DebugTableDirectory

获取调试表条目。

DelayImportTableDirectory

获取 Delay-Load 导入表项。

DllCharacteristics

获取动态链接库的特征。

ExceptionTableDirectory

获取异常表条目。

ExportTableDirectory

获取导出表项。

FileAlignment

获取用于对齐图像文件中节的原始数据的对齐因子(以字节为单位)。

GlobalPointerTableDirectory

获取全局指针表项。

ImageBase

获取加载到内存中时图像的第一个字节的首选地址。

ImportAddressTableDirectory

获取“导入地址表”条目。

ImportTableDirectory

获取导入表项。

LoadConfigTableDirectory

获取“加载配置表”条目。

Magic

获取一个值,该值标识图像文件的格式。

MajorImageVersion

获取映像的主要版本号。

MajorLinkerVersion

获取链接器主版本号。

MajorOperatingSystemVersion

获取所需操作系统的主版本号。

MajorSubsystemVersion

获取子系统的主要版本号。

MinorImageVersion

获取映像的次要版本号。

MinorLinkerVersion

获取链接器次要版本号。

MinorOperatingSystemVersion

获取所需操作系统的次要版本号。

MinorSubsystemVersion

获取子系统的次要版本号。

NumberOfRvaAndSizes

获取其余 PEHeader部分的数据目录条目数。 每项都描述位置和大小。

ResourceTableDirectory

获取“资源表”条目。

SectionAlignment

获取将分区加载到内存中的对齐方式(以字节为单位)。

SizeOfCode

获取代码(text)节的大小,或所有代码节的总和(如果有多个部分)。

SizeOfHeaders

获取 MS DOS 存根、PE 标头和节标头的组合大小,这些标头向上舍入为 FileAlignment 的倍数。

SizeOfHeapCommit

获取要提交的本地堆空间的大小。

SizeOfHeapReserve

获取要保留的本地堆空间的大小。 仅 SizeOfHeapCommit 提交;其余项在达到保留大小之前一次提供一页。

SizeOfImage

获取图像的大小(以字节为单位),包括所有标头,因为图像在内存中加载。

SizeOfInitializedData

获取初始化的数据节的大小,或者如果有多个数据节,则获取所有此类节的总和。

SizeOfStackCommit

获取要提交的堆栈的大小。

SizeOfStackReserve

获取要保留的堆栈的大小。 仅 SizeOfStackCommit 提交;其余项在达到保留大小之前一次提供一页。

SizeOfUninitializedData

获取未初始化的数据节(BSS)的大小;如果有多个 BSS 节,则获取所有此类节的总和。

Subsystem

获取运行此映像所需的子系统的名称。

ThreadLocalStorageTableDirectory

获取 Thread-Local 存储表项。

方法

名称 说明
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于