Bei deiner Struktur ist ja lediglich das Resource_Dir_Entries hinzugekommen. Bei mir enthalten allerdings schon die ersten Felder total unsinnige Werte. Ich prüfe jetzt mal, ob das doch daran liegen könnte, dass mein IMAGE_OPTIONAL_HEADER für 32 Bit und nicht für 64 Bit ausgelegt ist.
€dit: Unglaublich ^^ Da habe ich tatsächlich an der falschen Stelle gesucht. Mit einer Deklaration des ImageOptionalHeaders nach folgender Art konnte ich problemlos 64 Bit EXEn öffnen:
Delphi-Quellcode:
DllCharacteristics: Word;
SizeOfStackReserve: DWORD;
X1: DWORD;
SizeOfStackCommit: DWORD;
X2: DWORD;
SizeOfHeapReserve: DWORD;
X3: DWORD;
SizeOfHeapCommit: DWORD;
X4: DWORD;
LoaderFlags: DWORD;
NumberOfRvaAndSizes: DWORD;
DataDirectory: packed array[0..IMAGE_NUMBEROF_DIRECTORY_ENTRIES-1] of TImageDataDirectory;
Jetzt muss ich das ganze nur noch anhand der Erkennungsmethode dynamisch machen und es ist perfekt
Danke euch!