| Indice |
|---|
| Struttura di un file PE |
| DOS Header |
| File Header |
| Optional Header |
| Section Header |
| Imports Address Table - IAT |
| Export Address Table - EAT |
| Tutte le pagine |
Pagina 3 di 7
Struttura dati di un File Header (20 byte)
_IMAGE_FILE_HEADER = packed record
Machine: Word;
NumberOfSections: Word;
TimeDateStamp: DWORD;
PointerToSymbolTable: DWORD;
NumberOfSymbols: DWORD;
SizeOfOptionalHeader: Word;
Characteristics: Word;
end;
Esempio di File Header
Dump - KernelLoadLibraryAddress:00400000..00400FFF
Indirizzo Codice Dati decodificati Commenti
00400100 50 45 00 00 ASCII "PE",0,0 ; IMAGE_NT_SIGNATURE[4] = "PE "
00400104 4C01 DW 14C ; Machine = IMAGE_FILE_MACHINE_I386
00400106 0900 DW 9 ; NumberOfSections = 9
00400108 FBCEF34A DD 4AF3CEFB ; TimeDateStamp = 4AF3CEFB
0040010C 00000000 DD 00000000 ; PointerToSymbolTable = 0
00400110 00000000 DD 00000000 ; NumberOfSymbols = 0
00400114 E000 DW 0E0 ; SizeOfOptionalHeader = 224.
00400116 8E81 DW 818E ; Characteristics = EXECUTABLE_IMAGE|
32BIT_MACHINE|LINE_NUMS_STRIPPED|
LOCAL_SYMS_STRIPPED|BYTES_REVERSED_LO|
BYTES_REVERSED_HI
La dimensione del File Header è fissa ed è pari a 20 byte, mentre uno dei suoi campi ci indicherà la dimensione della struttura sucessiva, ovvero l'Optional Header che in questo caso sarà si 224 byte.
Un altro dei suoi campi indica il numero delle sezioni ,in questo caso 9, che troveremo in seguito.
Subito dopo il file Header troviamo l'Optional Header





