Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   WriteProcessMemory/dealloc fragen (https://www.delphipraxis.net/105815-writeprocessmemory-dealloc-fragen.html)

Apollonius 31. Dez 2007 17:04

Re: WriteProcessMemory/dealloc fragen
 
Ich verstehe weniger als vorher. Du versuchst, in ein Programm eine Call...-Anweisung einzufügen, richtig? Dann suchst du dir erstmal den Opcode von Call raus und schaust, ob die Adresse relativ oder absolut erwartet wird.

k4ni 31. Dez 2007 17:08

Re: WriteProcessMemory/dealloc fragen
 
also "e8" wäre call. Doch da ist wieder mein problem, wie kann ich den pointer (also lulz) in einen array (of byte) umwandeln und ablegen?

Apollonius 31. Dez 2007 17:14

Re: WriteProcessMemory/dealloc fragen
 
WOZU BRAUCHST DU DAS? Du kannst den Pointer auch direkt schreiben! Mal im Ernst, schau dir einfach mal die Parameter von WriteProcessMemory an.

k4ni 31. Dez 2007 17:28

Re: WriteProcessMemory/dealloc fragen
 
Delphi-Quellcode:
  WriteProcessMemory(HandleWindow, ptr($006DF140), ptr($e8+buf), 2, Write);
Sollte also funktionieren?
tut es aber nicht. Jetzt schreibt er irgendwie nix...hmm. Wie soll ich das machen? bsp bitte.

Edit:
buf := integer(lulz);

Apollonius 31. Dez 2007 17:37

Re: WriteProcessMemory/dealloc fragen
 
Du willst nicht die Summe von $E8 und der Adresse schreiben, sondern erst $E8 und dann die Adresse. Das kannst du entweder mit einem Array machen, was meiner Meinung nach allerdings unnötig kompliziert ist. Ich würde einfach zweimal WriteProcessMemory aufrufen. Und vergiss bitte nicht, dass der dritte Parameter ein Zeiger auf die Daten ist.
Irgendwie kommt es mir so vor, als hätte ich dir schon mehrfach gesagt, dass du dir mal MSDN-Library durchsuchenWriteProcessMemory genauer anschauen sollst...
Auch meine wohlmeinenden Ratschläge zum Thema Call scheinst du zu ignorieren.
Zitat:

Und du musst dir anschauen, wie Call codiert wird und wie dabei die Adresse, an die gesprungen werden soll, geschrieben wird.
Zitat:

und schaust, ob die Adresse relativ oder absolut erwartet wird.
Ich gedenke nicht, diesen Hinweis nochmal zu wiederholen. Entschuldige, wenn das jetzt hart rüberkommt, aber habe keine Lust, ständig das gleiche zu schreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz