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) |