PEHeader Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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) |