Einzelnen Beitrag anzeigen

napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: In Process nach bestimmten Wert suchen

  Alt 25. Feb 2008, 14:29
Habe es endlich geschafft, das er sucht aber es dauert so wahnsinnig lange ... bei CE oder TSearch geht das alles schneller
ICh mache es derzeit so:
Delphi-Quellcode:
procedure TCrossXSearch.Suche(Sender: TObject);
var
  hprocess: Thandle;
  address: Pointer;
  LetzteZifer : Char;
  LI : TListItem;
  I: Integer;
begin
  hProcess := OpenProcess(PROCESS_VM_READ,False,ProzessID);
  address := FindValueInProcess(hProcess,StrToInt('$'+( DezToHexa1(Edit1.Text) )),StrToInt('$00401000'),$+ProzessSize);
  if address <> nil then
  begin
    LI := ListView1.Items.Insert(ListView1.Items.Count);
    LI.Caption := Format('%x',[DWORD(address)]);
    LI.SubItems.Add(Edit1.Text);

    for I := 1 to ProzessSize do
    begin
      address := FindValueInProcess(hProcess,$1, StrToInt('$00' + Format('%x',[DWORD(address)])) +$1,$+ProzessSize);
      if address <> nil then
      begin
        Listbox1.Items.Add(Format('%x',[DWORD(address)]));
        LI := ListView1.Items.Insert(ListView1.Items.Count);
        LI.Caption := Format('%x',[DWORD(address)]);
        LI.SubItems.Add(Edit1.Text);
        Edit2.Text := IntToStr(ListView1.Items.Count);
      end else
      begin
          CloseHandle(hProcess);
        Exit;
      end;
    end;
  end;
end;
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat