C++ Speicher bearbeiten
-
kann man überhaupt explizit im RAM arbeiten, und an bestimmten Adressen ?
meiner meinung geht das net, da die Entwicklungsumgebung nen bestimmten Speicherplatz reserviert...btw, wozu brauchst du das?
-
glaub ich nicht das das geht, ausser im dos mode
weil wenn z.b. win gestartet wird, reserviert win speicher und da kannste nicht an jede beliebige stelle schreiben! sonst kannst ja in alle systemdateien schreiben und sogar in reingeladene dll's ect.
ne dafür sorgt das BS schon, dass das nicht geht.
-
ness schrieb:
@Bitfiddler: nö, so kannste nur in deinem virtuellen Adressraum rumschreiben.
Ich denke etwas anderes war auch nicht gemeint
xindon schrieb:
Wenn mir der Watcom Debugger (debugge Notepad :p) sagt, dass in 0x0023:0x00096C70 ein "D" steht. Wie kann ich das dann beispielsweise in ein "E" machen ?
Wenn man mal die Segmentangabe nicht berücksichtig...
*(char*)0x00096C70 = 'E';
-
newkid_ schrieb:
glaub ich nicht das das geht, ausser im dos mode
weil wenn z.b. win gestartet wird, reserviert win speicher und da kannste nicht an jede beliebige stelle schreiben! sonst kannst ja in alle systemdateien schreiben und sogar in reingeladene dll's ect.
ne dafür sorgt das BS schon, dass das nicht geht.Scheib' nicht so'n Stuss, Dumpfbirne!
-
Befass Dich mal mit:
OpenProcess
ReadProcessMemory
WriteProcessMemoryGruß
-
7H3 N4C3R schrieb:
Befass Dich mal mit:
OpenProcess
ReadProcessMemory
WriteProcessMemoryDas ist auch nur 'Virtual Memory'.
Schau lieber mal da: http://www.phrack.org/show.php?p=59&a=16
-
haaaalt Leuteeee, waaartet
Erstmal vielen Dank euch allen, aber bevor hier noch das Chaos ausbricht;
Es geht um folgendes:
Mir war grad langweilig und ich hab mir überlegt, wie es möglich ist den Speicher von anderen Programmen zu 'manipulieren' (das hört sich so böse an). Wie unter anderem Trainer bei Spielen funktionieren und sowas.Danke
(und nein, ich habe nicht vor zu cheaten; ich spiele ehrlich
)
-
Sicher ist das nur Virtual Memory. Aber Du kommst mit entsprechenden Rechten an den Speicher eines anderen Prozesses. Und was ist doch das Ziel, oder nicht?
-
ja, wie schon gesagt: ich will in den Speicher eines anderen Programms
-
7H3 N4C3R schrieb:
Sicher ist das nur Virtual Memory. Aber Du kommst mit entsprechenden Rechten an den Speicher eines anderen Prozesses. Und was ist doch das Ziel, oder nicht?
Anscheinend ja. Also, xindon, 3 Posts darüber stehts
-
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { *(char*)0x00096C10 = 'E'; system("PAUSE"); return EXIT_SUCCESS; }
macht nichts und das Programm geht automatisch zu (huch, da ist doch aber ein PAUSE.... ??)
-
xindon schrieb:
macht nichts und das Programm geht automatisch zu (huch, da ist doch aber ein PAUSE.... ??)
Du solltest sicherstellen, daß du Schreibzugriffe auf diese Adresse machen darfst.
-
ich hab hier grad noch was gefunden...
OpenProcess() mit den parametern PROCESS_VM_READ / PROCESS_VM_WRITE
oder OpenProcess() mit PROCESS_CREATE_THREAD
und den Trainer-Code einfach mittels
CreateRemoteThread
im Kontext vom Game laufen lassen.und hier noch:
http://www.online-tutorials.net/hacking-cracking/tutorials-27.html