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)

Применяется к