Ich möchte gerne die Module einer
PE-Datei auslesen. Dies
möchte ich mit ImageDirectoryEntryToData() bewerkstelligen.
Leider bekomme ich immer einen Fehler, dass eine
EAccessViolation auftritt.
Hier mal mein Code:
Delphi-Quellcode:
type PIMAGE_IMPORT_DESCRIPTOR = record
OriginalFirstThunk: DWORD;
TimeDateStamp: DWORD;
ForwarderChain: DWORD;
Name: DWORD;
FirstThunk: DWORD;
end;
procedure StartUp();
var
hCaller: HMODULE;
ImportDesc: ^PIMAGE_IMPORT_DESCRIPTOR;
szModName: PCHAR;
nSize: ULONG;
begin
hCaller := GetModuleHandle('Project1.exe');
ImportDesc := ImageDirectoryEntryToData(@hCaller,true,IMAGE_DIRECTORY_ENTRY_IMPORT, nSize);
while ImportDesc.Name <> 0 do
begin
//Mach was.
end;
end;
Immer wenn ich zugriff auf die Structur haben will kommt diese
Exception.
Zum besseren verständnis: Das Programm ist eine
DLL die injiziert werden soll.
Danke für Hilfe!