Einzelnen Beitrag anzeigen

Czerskowski

Registriert seit: 24. Mär 2007
4 Beiträge
 
#1

ImageDirectoryEntryToData()

  Alt 24. Mär 2007, 16:36
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!
  Mit Zitat antworten Zitat