Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to access memory from an application to another ? How?

The title is a bit confused. But, I'm trying to do is some thing like:

I have button (Button1 from TButton class)in a application. I want to get the pointer value of this button and check it properties from a second application.

Some one can say if it is possible ? And if it's not, explain why ?

Tks.


Re-opening 'cause I got other informations on internet.

If I use things like ? ReadProcessMemory

Examples: http://www.codeproject.com/KB/threads/int64_memsteal.aspx http://forum.cheatengine.org/viewtopic.php?p=4150408&sid=2358f118bab9f54b032d99377aed0545

like image 328
Rodrigo Farias Rezino Avatar asked Aug 31 '25 02:08

Rodrigo Farias Rezino


1 Answers

applications are protected from each other trying to corrupt each other. There is specific hardware in your PC to do this ( a MMU). It makes things both robust and secure.

So you can't simply go poking around in the memory of another application. You can share memory between applications using memory mapped files.... but thats more for data transfer typically.

However with windows controls (buttons, windows, etc) they are GDI objects and you can use windows API for sending messages to other applications controls to make them do things or query their properties.

Alternatively you can expose a cross process API, RPC / Com / Webservices / Sockets to allow other applications to query and change state

like image 128
Keith Nicholas Avatar answered Sep 02 '25 16:09

Keith Nicholas