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