Einzelnen Beitrag anzeigen

Hedge

Registriert seit: 30. Jun 2007
278 Beiträge
 
Delphi 2009 Professional
 
#1

gesamten Speicher eines fremden Prozesses fix durchsuchen!

  Alt 31. Mär 2009, 00:26
Suche in einem fremden Prozess (ca. 400MB Speicher) nach einem Integer-Wert.
Besser gesagt beim 1. Mal durchsuchen soll eine Liste mit den Treffern erstellt werden und beim erneuten durchsuchen in diesen Ergebnissen soll diese auf 1 Möglichkeit reduziert werden.
Gibt es dafür eine elegantere (oder schnellere) Variante als alles mit der folgenden Funktion abzugrasen?:

Delphi-Quellcode:
function LeseSpeicher(adresse,size:integer):integer;
var p : pointer;
    puffer : array[0..1] of DWord;
    BytesRead: DWord;
    ProcessId,ThreadId,HandleWindow : integer;
   begin
        p := ptr(adresse); //Adresse umwandeln:
        ThreadId := GetWindowThreadProcessId(ProgrammHandle,@ProcessId); //ProgrammHandle = globale Variable
        HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
        ReadProcessMemory( HandleWindow, p , @puffer[0], size, BytesRead );
        closehandle(HandleWindow);//close
        LeseSpeicher := Puffer[0];
   end;//von LeseSpeicher
٩๏̯͡๏)۶
  Mit Zitat antworten Zitat