PE Header



            PE Header merupakan salah satu struktur dari IMAGE_NT_HEADER (dideklarasikan dalam WINNT.H). Header ini mengandung berbagai macam jenis informasi seperti lokasi dan ukuran dari area kode dan data, sistem operasi yang dipakai, ukuran stack, dan lain-lain. Header ini juga mengandung MS-DOS stub, yaitu program kecil yang akan menampilkan teks "This program cannot be run in MS-DOS mode." Bila file PE dijalankan di lingkungan yang tidak mendukung Win32. PE Header Terdiri dari struktur :
   DWORD Signature;
  IMAGE_FILE_HEADER FileHeader;
  IMAGE_OPTIONAL_HEADER OptionalHeader;
  Dimana Signature adalah teks "PE\0\0". Sedangkan IMAGE_FILE_HEADER berisi struktur :
  1. WORD
 Machine //Berisi nilai untuk jenis CPU yang dipakai, ex : 0x14d untuk Intel  i860
2. WORD  
NumberOfSections //Berisi jumlah section yang ada di file PE
2        DWORD
TimeDateStamp //Berisi tanggal kapan linker (atau compiler untuk File  OBJ) memproduksi file PE
3        DWORD
PointerToSymbolTable //Offset untuk tabel symbol COFF
4        DWORD
NumberOfSymbols //Berisi jumlah symbol COFF di tabel
5        WORD :
SizeOfOptionalHeader //Berisi ukuran dari optional header
6        WORD
Characteristics //Berisi informasi tentang file PE
Untuk IMAGE_OPTIONAL_HEADER berisi :
1.      WORD
Magic //Selalu bernilai 0x010B
2.      BYTE
MajorLinkerVersion //Versi linker yang dipakai
3.      BYTE
MinorLinkerVersion //Versi linker yang dipakai
4.      DWORD
SizeOfCode //Ukuran dari section code
5.      DWORD
SizeOfInitializedData //Ukuran dari semua data section yang terinisialisasi
6.      DWORD
SizeOfUninitializedData //Ukuran dari semua data section yang tidak terinisialisasi
7.      DWORD
AddressOfEntryPoint //Alamat dimana loader akan memulai eksekusi file PE, alamat ini adalah RVA (Relative Virtual Address)
8.      DWORD
BaseOfCode //Alamat RVA dimana section code dimulai
9.      DWORD
BaseOfData //Alamat RVA dimana section data dimulai
10. DWORD
ImageBase //Alamat dimana file PE akan dimapping di memory
10.  DWORD
SectionAlignment //Nilai penggandaan untuk mapping tiap section di memory
11.  DWORD
FileAlignment //Nilai penggandaan untuk mapping tiap section di disk
12.  WORD
MajorOperatingSystemVersion //Versi OS yang dipakai
13.  WORD
MinorOperatingSystemVersion //Versi OS yang dipakai
14.  WORD
MajorSubsystemVersion //Versi minimum OS yang dipakai
15.  WORD
MinorSubsystemVersion //Versi minimum OS yang dipakai
18. DWORD

Reserved1 //Selalu bernilai 0
19.  DWORD
SizeOfImage //Ukuran dari image yang akan diload oleh loader
20.  DWORD
SizeOfHeaders //Ukuran dari PE Header dan tabel section
21. DWORD
CheckSum //Nilai checksum CRC dari file PE
22. WORD
Subsystem //Tipe subsistem yang diperlukan untuk keperluan GUI
23.  WORD
DllCharacteristics //Tanda atau flag untuk inisialisasi DLL (Dynamic Link Library)
24.  DWORD
SizeOfStackReserve //Ukuran dari virtual memory yang akan digunakan  untuk inisialisasi stack

25.  DWORD
SizeOfStackCommit //Ukuran dari memory yang akan digunakan untuk   inisialisasi stack
26.  DWORD
SizeOfHeapReserve //Ukuran dari virtual memory yang akan digunakan untuk inisialisas heap proses
27.  DWORD
SizeOfHeapCommit //Ukuran dari memory yang akan digunakan untuk inisialisasi heap proses
28.  DWORD
LoaderFlags //Digunakan untuk keperluan debugging
29.  DWORD
NumberOfRvaAndSizes //Jumlah dari array DataDirectory



untuk melihat halaman selanjutnya klik disini

Popular posts from this blog

Kode Singkatan Komponen Listrik Dan Elektronik

Cara Mengatasi E31 Canon MP258

Cara Mengukur Trimpot