2009-05-11 1 views
1

Ich versuche Variablen aus dem Speicher zu lesen. Variablen, die nicht zu meinem eigenen Programm gehören. Nehmen wir zum Beispiel an, dass diese Adobe Shockwave-Anwendung (.dcr) im Browser ausgeführt wird und ich verschiedene Variablen daraus lesen möchte. Wie wird es gemacht? Muss ich den Prozess anhängen? Aber es läuft unter der virtuellen Maschine, also weiß ich nicht, wie es geht.Wie liest man die Variablen von Drittanbietern aus dem Speicher?

Diese Aufgabe ist ziemlich trivial in normalen w32 Anwendungen (wie es in erster Linie nur CBT-Einhaken/Subklassifizieren ist), aber wie ich schon erwähnt, habe ich keine Ahnung, wie es mit Flash/Shockwave getan wird.

Ich verwende C++ (VS9) als meine Entwicklungsumgebung, falls Sie es wissen wollen.

Alle Hinweise würden sehr geschätzt werden, so vielen Dank im Voraus.

Mit freundlichen Grüßen, nhaa123

Antwort

1

Wenn Sie es nur versuchen, für ein oder zwei Experimente manuell zu tun, ist es einfach. Versuchen Sie ein Werkzeug wie Cheat engine, die wie ein kostenloser und schneller und einfacher Prozess Peeker ist. Im Grunde wird der Speicherplatz des Prozesses nach bestimmten Schlüsselwerten durchsucht. Sie können diese anfänglichen Suchtreffer später auch filtern. Sie können auch ändern diese Werte, die Sie finden, leben. Der obige Link zeigt ein schnelles Beispiel, wie Sie einen Punktestand oder einen Geldwert in einem Spiel finden und ihn live bearbeiten können, während das Spiel läuft.

+0

Vielen Dank für den Link. – nhaa123

0

ohne Debugbinärdateien mit/DLLs des Apps, Ihre einzige Chance ist, einige Hacker zu fragen.

Normalerweise können Sie eine Verbindung zu einem Prozess mit einem Debugger herstellen, aber ohne die Debugsymbole der Binärdateien sehen Sie keine Variablennamen - nur Speicheradressen.

Weiter läuft der Flash/Shockwave-Code in einer Sandbox innerhalb des Browsers, um Sicherheitslücken durch manipulierten Flash-Code zu verhindern. Sie haben also keine echte Chance, auf den laufenden Flash-Code/auf das Plugin zuzugreifen, das den Flash-Code ausführt - außer Sie haben eine manipulierte Version eines solchen Plugins.

So ist Ihre Aufgabe ziemlich schwer zu lösen, ohne weniger legale Methoden zu verwenden. Die nächste schwere Sache ist die virtuelle Maschine - dies könnte gelöst werden, indem Sie Ihre App als Client/Server-Lösung implementieren, wobei der "Inspector"/Watchdog als Server in der virtuellen Maschine läuft und der Client den Variablenstatus/Inhalt abfragt normaler Gastgeber Die Kommunikation könnte als einfache Socket-Verbindung erfolgen.

Wenn Sie die Möglichkeit haben, Ihr eigenes Flash/Shockwave-Plugin zu schreiben, könnten Sie vielleicht den Inhalt von Variablen sehen.

Tut mir leid, dass ich Ihnen nicht weiterhelfen kann.

ciao, 3DH

Verwandte Themen