PEHeader Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili header file Portable Executable (PE).
public ref class PEHeader sealed
public sealed class PEHeader
type PEHeader = class
Public NotInheritable Class PEHeader
- Warisan
-
PEHeader
Contoh
Contoh ini memperlihatkan cara membaca informasi dari header 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}");
}
Keterangan
Format header file PE ditentukan oleh spesifikasi PE. Kelas ini digunakan oleh PEHeader properti .
Properti
AddressOfEntryPoint |
Mendapatkan alamat titik entri relatif terhadap basis gambar ketika file PE dimuat ke dalam memori. |
BaseOfCode |
Mendapatkan alamat bagian awal kode yang relatif terhadap basis gambar saat gambar dimuat ke dalam memori. |
BaseOfData |
Mendapatkan alamat bagian awal data yang relatif terhadap basis gambar saat gambar dimuat ke dalam memori. |
BaseRelocationTableDirectory |
Mendapatkan entri Tabel Relokasi Dasar. |
BoundImportTableDirectory |
Mendapatkan entri Tabel Impor Terikat. |
CertificateTableDirectory |
Mendapatkan entri Tabel Sertifikat, yang menunjuk ke tabel sertifikat atribut. |
CheckSum |
Mendapatkan checksum file gambar. |
CopyrightTableDirectory |
Mendapatkan entri Tabel Hak Cipta. |
CorHeaderTableDirectory |
Mendapatkan entri Tabel Header CLI. |
DebugTableDirectory |
Mendapatkan entri Tabel Debug. |
DelayImportTableDirectory |
Mendapatkan entri Tabel Impor Delay-Load. |
DllCharacteristics |
Mendapatkan karakteristik pustaka tautan dinamis. |
ExceptionTableDirectory |
Mendapatkan entri Tabel Pengecualian. |
ExportTableDirectory |
Mendapatkan entri Ekspor Tabel. |
FileAlignment |
Mendapatkan faktor perataan (dalam byte) yang digunakan untuk menyelaraskan data mentah bagian dalam file gambar. |
GlobalPointerTableDirectory |
Mendapatkan entri Tabel Penunjuk Global. |
ImageBase |
Mendapatkan alamat pilihan dari byte pertama gambar saat dimuat ke dalam memori. |
ImportAddressTableDirectory |
Mendapatkan entri Tabel Alamat Impor. |
ImportTableDirectory |
Mendapatkan entri Impor Tabel. |
LoadConfigTableDirectory |
Mendapatkan entri Tabel Konfigurasi Beban. |
Magic |
Mendapatkan nilai yang mengidentifikasi format file gambar. |
MajorImageVersion |
Mendapatkan nomor versi utama gambar. |
MajorLinkerVersion |
Mendapatkan nomor versi utama linker. |
MajorOperatingSystemVersion |
Mendapatkan nomor versi utama dari sistem operasi yang diperlukan. |
MajorSubsystemVersion |
Mendapatkan nomor versi utama subsistem. |
MinorImageVersion |
Mendapatkan nomor versi minor gambar. |
MinorLinkerVersion |
Mendapatkan nomor versi minor linker. |
MinorOperatingSystemVersion |
Mendapatkan nomor versi minor dari sistem operasi yang diperlukan. |
MinorSubsystemVersion |
Mendapatkan nomor versi minor subsistem. |
NumberOfRvaAndSizes |
Mendapatkan jumlah entri direktori data di sisa PEHeader. Masing-masing menjelaskan lokasi dan ukuran. |
ResourceTableDirectory |
Mendapatkan entri Tabel Sumber Daya. |
SectionAlignment |
Mendapatkan perataan (dalam byte) bagian saat dimuat ke dalam memori. |
SizeOfCode |
Mendapatkan ukuran bagian kode (teks), atau jumlah semua bagian kode jika ada beberapa bagian. |
SizeOfHeaders |
Mendapatkan ukuran gabungan stub MS DOS, header PE, dan header bagian yang dibulatkan ke kelipatan FileAlignment. |
SizeOfHeapCommit |
Mendapatkan ukuran ruang timbunan lokal untuk dilakukan. |
SizeOfHeapReserve |
Mendapatkan ukuran ruang timbunan lokal untuk dicadangkan. Hanya SizeOfHeapCommit diterapkan; sisanya tersedia satu halaman pada satu waktu sampai ukuran cadangan tercapai. |
SizeOfImage |
Mendapatkan ukuran (dalam byte) gambar, termasuk semua header, karena gambar dimuat dalam memori. |
SizeOfInitializedData |
Mendapatkan ukuran bagian data yang diinisialisasi, atau jumlah semua bagian tersebut jika ada beberapa bagian data. |
SizeOfStackCommit |
Mendapatkan ukuran tumpukan yang akan dilakukan. |
SizeOfStackReserve |
Mendapatkan ukuran tumpukan untuk dipesan. Hanya SizeOfStackCommit diterapkan; sisanya tersedia satu halaman pada satu waktu sampai ukuran cadangan tercapai. |
SizeOfUninitializedData |
Mendapatkan ukuran bagian data yang tidak diinisialisasi (BSS), atau jumlah semua bagian tersebut jika ada beberapa bagian BSS. |
Subsystem |
Mendapatkan nama subsistem yang diperlukan untuk menjalankan gambar ini. |
ThreadLocalStorageTableDirectory |
Mendapatkan entri Tabel Penyimpanan Thread-Local. |
Metode
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |