Einzelnen Beitrag anzeigen

Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Delphi WriteProcessMemory mit Offsets zum Pointer

  Alt 21. Mai 2008, 13:26
oha.

Sagen wir es mal so - Dein Code hat gewisse Entfaltungsmöglichkeiten. Ich werde ihn Dir nicht neu schreiben, habe aber ein paar Anregungen:

- Wo kommen "WindowName" und "ProcessId" her? Globale Variablen sind i.a. "pfui".
- Wenn Du eine Funktion wie "GetWindowThreadProcessId" oder "openProcess" aufrufst, muss Du immer damit rechnen, dass diese Funktionen fehlschlagen. Also das Ergebnis dieser Funktionen prüfen, ob ein Fehlercode geliefert wurde. (Google: msdn + {funktionsname} führt Dich zur Doku)
- "Chr(value)" versucht, den in Value enthaltenen Wert in den Datentyp Character zu pressen. Die klassischen Charakters konnten aber nur Werte bis 255 - Dein Value, vom Typ intger, kann deutlich mehr. Was passiert bei größeren Werten? Das solltest Du berücksichtigen. In Zeiten von Unicode ist ein Zeichen nicht mehr unbedingt ein Byte lang. Du reservierst ein Byte an Speicher, schreibst aber u.U. deutlich mehr in diesen Bereich und verletzt damit umliegende Bereiche.

Nur so auf die Schnelle.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat