Aracılığıyla paylaş


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

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, görüntü tabanına göre kod başlangıcı bölümünün adresini 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 Konumlandırma 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

Tablo İç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

Tablo İç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ının 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 biri bir konumu ve boyutu açıklar.

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 saplama, PE üst bilgisi ve bölüm üst bilgilerinin fileAlignment katlarına yuvarlanmış birleşik boyutunu alır.

SizeOfHeapCommit

İşleyecek yerel yığın alanının boyutunu alır.

SizeOfHeapReserve

Ayıracak yerel yığın alanının boyutunu alır. Yalnızca SizeOfHeapCommit taahhüt edilir; geri kalanı, yedek boyuta 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 taahhüt edilir; geri kalanı, yedek boyuta 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 bu tür tüm 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

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

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır