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

获取代码(文本)段的大小,或者如果有多个部分,则获取所有代码段的和。

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)

适用于