![]() |
Ramadresse auslesen
Gibt es ein tutorial mit dem ich erlernen kann wie ich eine bestimmte Speicher Adresse auslesen kann?
Und wenn Auch möglich würde gern eine exe im Ram auslesen und darin nach bestimmten Werten suchen. z.B. Der Spieler des Spieles XY hat 10000 Goldeinheiten. |
Re: Ramadresse auslesen
Ein Integer an Adresse $00400000 im eigenen virtuellen Speicherraum (nur in der selben Exe) auslesen und ausgeben.
Delphi-Quellcode:
Den Wert $12122323 im Prozess mit der PID (1012) im Addressbereich von $00401000 bis $00401200 absuchen und die Addresse, des Wertes, wenn gefunden, ausgeben.
ShowMessage(IntToStr(Pinteger($00400000)^));
Delphi-Quellcode:
function FindValueInProcess(hProcess: THandle; Value: DWORD; Offset, SearchLen: DWORD): Pointer;
var i: Integer; buffer: DWORD; written: DWORD; begin result := nil; For i := Offset To OffSet+SearchLen Do begin If ReadProcessMemory(hprocess,Pointer(i),@buffer,4,written) and (buffer = Value) Then begin result := Pointer(i); Break; end; end; end; Anwendung: var hprocess: Thandle; address: Pointer; begin hProcess := OpenProcess(PROCESS_VM_READ,False,1012); address := FindValueInProcess(hProcess,$12122323,$00401000,$200); CloseHandle(hProcess); If address <> nil Then ShowMessage(Format('Value found at address %x',[DWORD(address)])); end; |
Re: Ramadresse auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Habe mit dem Programm Ram cheat Die Adressen herausgefunden.
Und kann eine .pos (winHex Positions datei) datei auslagern. Die Adresse ist jedesmal anders denoch finden beide tools die Adresse wieder. sagt euch das was? Anbei mal die exportierte Datei DANKE schon mal für die Hilfe, leider muss mein Programm aber aus anderen Programmen z.B. Spielen werte auslesen. Oder habe ich das falsch verstanden? |
Re: Ramadresse auslesen
Hast du dir mein zweites Beispiel angesehen?
Damit kannst du aus einem fremden Prozess einen beliebigen Wert finden und die Adresse dieses Wertes wird zurückgegeben. Wenn du verstanden hast, was dort passiert, weisst du auch wie du an den ausgelesenen Wert kommst. (buffer). Die beiden Adressen der Werte, die du angehängt hast, bringen dir herzlich wenig, wenn sie, wie du sagtest, immer woanders stehen. Beobachte mal in welchen Bereichen die beiden Werte ungefähr auftauchen. Falls das vollkommen unterschiedlich ist jedesmal, kannst du versuchen fixe Adressen zu finden, an denen Pointer stehen, die auf diese Werte zeigen, was oft der Fall ist, damit das Spiel auch auf diese Werte zugreifen kann. |
Re: Ramadresse auslesen
danke ich bastel gleich mal herum.
Wo kann man ersehen von welcher bis welcher Speicher Adresse eine Anwendung arbeitet ? |
Re: Ramadresse auslesen
Moin michback,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Für das Ermitteln aller belegter Speicherbereiche hatte ich hier mal ein Beispiel gepostet (AFAIR) (ich denke mal in der Windows-Sparte). Als Suchbegriff käme da, u.a. VirtualQueryEx in Frage. |
Re: Ramadresse auslesen
oder schau die funktion createtoolhelp32snapshot bei msdn an!
die toolhelp funktionen kann man über die delphi-unit TLHelp32 einbinden! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
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 by Thomas Breitkreuz