\ =============== \ PE.INC \ Die Strukturen \ =============== DECIMAL doshdr (( \? cr .( HEADER VON ) path\name count type structur IMAGE_DOS_HEADER 2 field e_magic \? .( 'MZ') 2 field e_cblp \? .( Laenge des letzten Sektors Modulo 512) 2 field e_cp \? .( Dateigroesse in 512 Byte-Seiten) 2 field e_crlc \? .( Laenge der Relocation-Tabelle) 2 field e_cparhdr \? .( Headergroesse in Paragraphen [je 16 Byte]) 2 field e_minalloc \? .( Anzahl.min der Paragraphen) 2 field e_maxalloc \? .( Anzahl.max der Paragraphen) 2 field e_ss \? .( Stack-Segment-Offset) 2 field e_sp \? .( Inhalt des SP Registers beim Start) 2 field e_csum \? .( Checksumme in Zweierkomplement) 2 field e_ip \? .( Inhalt des IP Registers beim Start) 2 field e_cs \? .( Code-Segment-Offset ab Programmanfang) 2 field e_lfarlc \? .( Relocation-Tabelle-Offset) 2 field e_ovno \? .( Overlaynummer 0 fuer den residenten Teil) 8 field res1 \? .( reserviert) 2 field e_oemid \? .( OEM-Bezeichner) 2 field e_oeminfo \? .( OEM-Info) 20 field e_res2 \? .( reserviert) 4 field e_lfanew \? .( reserviert für Offset zum NTFILE_HEADER) endstructur doshdr )) pehdr (( \? cr .( HEADER VON ) path\name count type structur NTFILE_HEADER 4 field Signature \? .( 'PE') 2 field Machine \? .( 014Ch=i386) 2 field NumberOfSections \? .( Anzahl der Sektionen) 4 field TimeDateStamp 4 field PointerToSymbolTable \? .( für debugging) 4 field NumberOfSymbols \? .( für debugging) 2 field SizeOfOptionalHeader \? .( Laenge vom OPTIONAL_HEADER) 2 field Characteristic \? .( Flags) endstructur structur OPTIONAL_HEADER 2 field Magic \? .( 10b) 1 field MajorLinkerVersion 1 field MinorLinkerVersion 4 field SizeOfCode \? .( Code) 4 field SizeOfInitializedData \? .( initialisierte Daten 4 field SizOfUninitializedData \? .( nicht initialisierte Daten) 4 field AddressOfEntryPoint \? .( Start relativ zur Ladeadresse) 4 field BaseOfCode \? .( Codebasis relativ zur Ladeadresse) 4 field BaseOfData \? .( Datenbasis relativ zur Ladeadresse) 4 field ImageBase \? .( Ladeadresse) 4 field SectionAlignment \? .( Granularitaet im Speicher) 4 field FileAlignment \? .( Granularitaet in der Datei) 2 field MajorOsVersion 2 field MinorOsVersion 2 field MajorImageVersion 2 field MinorImageVersion 2 field MajorSubsystemVersion 2 field MinorSubsystemVersion 4 field Win32VersionValue 4 field SizeOfImage \? .( Speicherverbrauch) 4 field SizeOfHeaders 4 field CheckSum 2 field Subsystem \? .( 2=Windows, 3=Console) 2 field DllCharacteristics 4 field SizeOfStackReserve 4 field SizeOfStackCommit 4 field SizeOfHeapReserve 4 field SizeOfHeapCommit 4 field LoaderFlags 4 field NumberOfRvaAndSizes 4 field ExportDirectoryRva \? .( Offset zum EXPORT_DESCRIPTOR) 4 field ExportSize 4 field ImportDirectoryRva \? .( Offset zum IMPORT_DESCRIPTOR) 4 field ImportSize 112 field DataDirectory endstructur pehdr )) sectionhdr (( structur SECTION_HEADER 8 field SectionName 4 field VirtualSize \? .( Anzahl der Bytes im Speicher) 4 field VirtualAddress \? .( Offset in Speicher) 4 field SizeOfRawData \? .( Laenge in der Datei) 4 field PointerToRawData \? .( Offset in der Datei) 4 field PointerToRelocations 4 field PointerToLinenumbers 2 field NumberOfRelocations 2 field NumberOfLinenumbers 4 field Characteristics1 \? attribute endstructur sectionhdr )) importhdr (( structur IMPORT_DESCRIPTOR 4 field PointerToThunkData \ Adresse der Struktur THUNK_DATA 4 field TimeDateStamp1 4 field ForwarderChain 4 field DllName \ Name der dll-Datei 4 field FirstThunk endstructur structur THUNK_DATA 4 field ForwarderString \ Name der Funktion: db fnummer,0,'Text',0 4 field Function 4 field Ordinal 4 field AddressOfData endstructur importhdr ))