How do I read third party application variables from memory?

I am trying to read variables from memory. Variables that don't belong to my own program. For example, let's say I have this Adobe Shockwave (.dcr) application running in a browser and I want to read different variables from it. How it's done? Do I need to include this process? But it works under a virtual machine, so I don't know how to do it.

This task is pretty common in regular w32 applications (since it's mostly just CBT-hooking / subclassing), but as I mentioned earlier, I have no idea how it's done with flash / shockwave.

I am using C ++ (VS9) as my development environment if you want to know.

Any hints would be highly appreciated, so well in advance.

Regards, nhaa123

+1


a source to share


2 answers


If you're trying to do it manually for just one or two experiments, it's easy. Try a tool like the Cheat engine which is similar to a free and fast and easy peeker process. It basically scans the process memory space for the given key values. You can then also filter these initial searches later. You can also change the values ​​that you find live. The link above shows a quick example of using it to find an estimate or monetary value in a game and edit it in real time as you play.



+1


a source


without debugging Binaries / DLL applications, your only chance to ask some hackers.

You can usually connect to the process with a debugger, but without the debug symbols in the binaries, you don't see any variable names - just memory addresses.

In addition, Flash / Shockwave code is sandboxed inside the browser to prevent security holes with managed Flash. Thus, you have no real way of accessing the executable Flash / plugin executing the Flash code, except that you have a managed version of such a plugin.

Thus, your task is rather difficult to solve without using less legal methods. The next tricky thing - the virtual machine - can be solved by implementing the application as a client / server solution, where the "inspector" / watchdog acts as a server within the virtual machine, and a client requesting the status / contents of a variable running on your regular host. Communication can be done as a simple socket connection.



If you are able to write your own Flash / Shockwave plugin, you may be able to see the contents of the variables.

Sorry that I cannot help you.

ciao, 3DH

0


a source







All Articles