Inhalt an einer bestimmten Addresse im Speicher auslesen
-
Error while reading from adress.6
krieg ich da.
im moment versuche ich grade mal alle speicheradressen für minesweeper durchzugehene. irgendwann müsste doch dann mal was anderes als Error while reading from adress. und content 0 kommen.
-
Das Problem was du hast, ist das du versuchst einfach so ohne Maßnahmen den allozierten Speicher einer fremden Anwndung zu lesen. Was du noch machen musst ist sicher zu stellen, dass du auch wirklich lesen "darfst"/kannst, das solltest du mit VirtualProtectEx() erreichen. Bevor du also den Speicherdump lesen willst:
- Nutze VirtualProtectEx um neue Speicher Privilegien zu setzen
- sichere den alten Protectstatus
- lese deine Daten aus
- stelle den alten Protectstatus wieder herSo müsste es eigentlich gehen.
Greetz Tobi
-
Das Problem was er hat, ist, daß er nicht weiß, wo er den allozierten Speicher des fremden Prozesses zu suchen hat.
VirtualQueryEx wäre erst zu empfehlen.
-
Genau das wars ich bin nur die ganze Zeit net drauf gekommen
Danke xD
Jo also erst mit Query suchen und dann Protect nutzen.Greetz Tobi
-
Ok also damit ich das mal verstehe, VirtualQueryEx liefert mir was genau? Den allozierten Speicherberech des jeweiligen Prozesses? Und VirtualProtectEx erlaubt mir dann die Rechte für diesen Bereich zu ändern?
-
Melan schrieb:
Ich glaube du musst den Prozess erst mit OpenProcess öffnen.
Hier gibt es ein Tutorial:
http://www.online-tutorials.net/security/speicherzugriff-tutorial-teil-1/tutorials-t-27-63.htmlwie wärs wenn du dir das mal anschaust?????
gibt es aber auch in einer 2. version wo virtual query ex erklärt wird
is aber sowieso ein troll der nicht weiß was msdn ist
-
lol, msdn hab ich mir angeguckt, ich wollts lediglich nochmal zusamm fassen um sicher zu gehn das ich das prinzip verstanden hab -.-
das tutorial hab ich mir angesehn aber nichts über virtualquery usw gelesen
-
-
ok,danke, das wird mir weiterhelfen.
-
Ok also das Programm funktioniert jetzt im Grunde. ABER:
Openprocess() schlägt bei manchen Anwendungen fehl. Bei allen Sachen bei denen ich es probiert habe (Diablo2,MineSweeper usw) geht es aber z.B. nicht bei KalOnline (isn MMORPG). Ich will da nichts böses antellen oder so, ich will nur das openprocess() überall klappt. Ich krieg jedoch immer error code 5 also access denied.
Ich hab sedebugprivileges gesetzt und auch schon mit den parametern von openprocess() rum gespielt aber es ist immer das Gleiche.
Ich denke es liegt am Hackshield, das KalOnline benutzt aber ich weiß, dass es gehen muss weil es memory scanner Programme gibt die extra für dieses Spiel geschrieben wurden und die könnens ja auch.Irgendwer ne Idee?