PEHeader Sınıf

Tanım

Taşınabilir Yürütülebilir Dosya (PE) dosya üst bilgisini temsil eder.

public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
Devralma
PEHeader

Örnekler

Bu örnekte PE üst bilgisinden bilgilerin nasıl okunduğu gösterilmektedir:

// 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}");
}

Açıklamalar

PE dosya üst bilgisi biçimi PE belirtimi tarafından tanımlanır. Bu sınıf özelliği tarafından PEHeader kullanılır.

Özellikler

Name Description
AddressOfEntryPoint

PE dosyası belleğe yüklendiğinde, giriş noktasının görüntü tabanına göre adresini alır.

BaseOfCode

Görüntü belleğe yüklendiğinde, kod başlangıcı bölümünün adresini görüntü tabanına göre alır.

BaseOfData

Görüntü belleğe yüklendiğinde görüntü tabanına göre veri başlangıcı bölümünün adresini alır.

BaseRelocationTableDirectory

Temel Yeniden Konumlar Tablosu girdisini alır.

BoundImportTableDirectory

İlişkili İçeri Aktarma Tablosu girdisini alır.

CertificateTableDirectory

Bir öznitelik sertifikaları tablosuna işaret eden Sertifika Tablosu girdisini alır.

CheckSum

Görüntü dosyası sağlama toplamını alır.

CopyrightTableDirectory

Telif Hakkı Tablosu girdisini alır.

CorHeaderTableDirectory

CLI Üst Bilgi Tablosu girdisini alır.

DebugTableDirectory

Hata Ayıklama Tablosu girdisini alır.

DelayImportTableDirectory

Tabloyu İçeri Aktar Delay-Load girdisini alır.

DllCharacteristics

Dinamik bağlantı kitaplığının özelliklerini alır.

ExceptionTableDirectory

Özel Durum Tablosu girdisini alır.

ExportTableDirectory

Tabloyu Dışarı Aktar girdisini alır.

FileAlignment

Görüntü dosyasındaki bölümlerin ham verilerini hizalamak için kullanılan hizalama faktörünü (bayt cinsinden) alır.

GlobalPointerTableDirectory

Genel İşaretçi Tablosu girdisini alır.

ImageBase

Belleğe yüklendiğinde görüntünün ilk baytının tercih edilen adresini alır.

ImportAddressTableDirectory

Adres Tablosunu İçeri Aktar girdisini alır.

ImportTableDirectory

Tabloyu İçeri Aktar girdisini alır.

LoadConfigTableDirectory

Yük Yapılandırma Tablosu girdisini alır.

Magic

Görüntü dosyasının biçimini tanımlayan bir değer alır.

MajorImageVersion

Görüntünün ana sürüm numarasını alır.

MajorLinkerVersion

Bağlayıcı ana sürüm numarasını alır.

MajorOperatingSystemVersion

Gerekli işletim sisteminin ana sürüm numarasını alır.

MajorSubsystemVersion

Alt sistemin ana sürüm numarasını alır.

MinorImageVersion

Görüntünün ikincil sürüm numarasını alır.

MinorLinkerVersion

Bağlayıcı ikincil sürüm numarasını alır.

MinorOperatingSystemVersion

Gerekli işletim sisteminin ikincil sürüm numarasını alır.

MinorSubsystemVersion

Alt sistemin ikincil sürüm numarasını alır.

NumberOfRvaAndSizes

öğesinin geri kalanındaki veri dizini girdilerinin PEHeadersayısını alır. Her birinde bir konum ve boyut açıklanmaktadır.

ResourceTableDirectory

Kaynak Tablosu girdisini alır.

SectionAlignment

Belleğe yüklendiklerinde bölümlerin hizalamasını (bayt cinsinden) alır.

SizeOfCode

Kod (metin) bölümünün boyutunu veya birden çok bölüm varsa tüm kod bölümlerinin toplamını alır.

SizeOfHeaders

Bir MS DOS saplaması, PE üst bilgisi ve bölüm üst bilgilerinin fileAlignment'in bir katına yuvarlanmış birleşik boyutunu alır.

SizeOfHeapCommit

İşlemek için yerel yığın alanının boyutunu alır.

SizeOfHeapReserve

Rezerve etmek için yerel yığın alanının boyutunu alır. Yalnızca SizeOfHeapCommit kabul edilir; kalanlar, yedek boyutuna ulaşılana kadar bir kerede bir sayfa kullanılabilir hale getirilir.

SizeOfImage

Görüntü belleğe yüklendiğinden, tüm üst bilgiler de dahil olmak üzere görüntünün boyutunu (bayt cinsinden) alır.

SizeOfInitializedData

Başlatılan veri bölümünün boyutunu veya birden çok veri bölümü varsa bu tür tüm bölümlerin toplamını alır.

SizeOfStackCommit

İşlenmek üzere yığının boyutunu alır.

SizeOfStackReserve

Ayıracak yığının boyutunu alır. Yalnızca SizeOfStackCommit kabul edilir; kalanlar, yedek boyutuna ulaşılana kadar bir kerede bir sayfa kullanılabilir hale getirilir.

SizeOfUninitializedData

Başlatılmamış veri bölümünün (BSS) boyutunu veya birden çok BSS bölümü varsa tüm bu bölümlerin toplamını alır.

Subsystem

Bu görüntüyü çalıştırmak için gereken alt sistemin adını alır.

ThreadLocalStorageTableDirectory

Thread-Local Depolama Tablosu girdisini alır.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır