AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Prozessspeicher lesen / schreiben Ergebnis falsch
Thema durchsuchen
Ansicht
Themen-Optionen

Prozessspeicher lesen / schreiben Ergebnis falsch

Ein Thema von Gehstock · begonnen am 16. Feb 2010 · letzter Beitrag vom 16. Feb 2010
Antwort Antwort
Seite 2 von 2     12   
Gehstock

Registriert seit: 28. Jan 2006
Ort: Görlitz / Sachsen
489 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Prozessspeicher lesen Ergebnis falsch

  Alt 16. Feb 2010, 18:10
nun Hab ich ein Ähnliches Problem beim Schreiben

fehler sind unter
Windows7 Nur ein Teil der ReadProcessMemory- oder WriteProcessMemory-Anforderung wurde abgeschlossen
WinXP Falscher Parameter

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  dwBytes, Buf: DWord;
  dwEngineBase, dwClientBase: DWord;
  dwProcID: Integer;
  hProcess: THandle;
begin
  dwEngineBase := 0;
  dwClientBase := 0;
  hProcess := 0;
  dwProcID := GetProcessID('calc.exe');
  if dwProcID <> 0 then
  begin
    hProcess := OpenProcess(PROCESS_ALL_ACCESS, false, dwProcID);
    if (hProcess = INVALID_HANDLE_VALUE) then
    begin
      Showmessage('Ungültiges Handle :' + Inttostr(hProcess));
      exit;
    end;
//if not ReadProcessMemory(hProcess, Pointer($2c3ca4), @Buf, 4, dwBytes) then
// ShowMessage(SysErrorMessage(GetLastError)+ ' : '+Inttostr(hProcess))
// else
// caption := (inttostr(Buf));
//end;
if not WriteProcessMemory(hProcess,Pointer($002C3C84),Pointer($55), 1,dwBytes) then
  ShowMessage(SysErrorMessage(GetLastError))
  else
    caption := (inttostr(dwBytes));
end;
end;
hab mir schon einige Delphi und C++ Sourcecodes angeschaut wegen dieser DebugPrivileges welche dort aber nie verwendet werden
Marcel
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Prozessspeicher lesen / schreiben Ergebnis falsch

  Alt 16. Feb 2010, 20:34
Die Hilfe zu den Parametern von Delphi-Referenz durchsuchenWriteProcessMemory hätte geholfen.
SizeOf(Pointer($55)) ist bei mir ungleich 1.
Btw: Delphi-Referenz durchsuchenCloseHandle fehlt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#13

Re: Prozessspeicher lesen / schreiben Ergebnis falsch

  Alt 16. Feb 2010, 20:40
Pointer($55) kann nicht stimmen, da einem Programm im Usermode kein Zugriff auf die 64 KB gewährt sind.

Falls du die $55 als Byte schreiben willst, dann muß dieses in eine Variable oder in einen anderen Puffer und dann gibst du den Zeiger auf diesen Puffer dort an.

Zitat von mleyen:
SizeOf(Pointer($55)) ist bei mir ungleich 1.
Egal, ein Pointer wäre 4 Byte und demnach könnte man davon auch 1 Byte schreiben,
aber hier zeigt der Pointer auf einen ungültigen Speicherbereichen
oder er will hier den Pointer, anstatt den Wert speichern.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#14

Re: Prozessspeicher lesen Ergebnis falsch

  Alt 16. Feb 2010, 20:44
Das dies möglich ist weiß ich, nur folgendes hat mich zu der Antwort verleitet:
Zitat von Gehstock:
Windows7 Nur ein Teil der ReadProcessMemory- oder WriteProcessMemory-Anforderung wurde abgeschlossen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

Re: Prozessspeicher lesen Ergebnis falsch

  Alt 16. Feb 2010, 20:51
Das ist 'ne Standardmeldung, welche eintritt, wenn Bytes nicht gelesen/geschrieben werden können ... was hier beim letzen und auch rein zufällig beim einzigen Byte passiert.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz