23925, I am not sure what exactly you are into doing... but Windows (and most OSs) work in protected mode which means that a process memory protection scheme is implemented on the CPU level which will not allow you to write wherever you want in memory while being in user level of OS. In order to do what you want: you must be in level 0 of OS. Only virtual device drivers work in this level so you must write a VxD or a VDD (WinNT) in order to have global memory access. Another way to do the trick is using some kind of debugger like SoftICE which works in ring 0 level and allows you to change running apps' memory. In some cases modifying the executable with a hex editor is still a choice but you should know what exactly you are doing and what exactly you want to change and where it resides in memory space. In any way what you want to do is not as simple as the very question and you should be very well familiar with Windows OS internals.
Ivan
--------------------------------------
A well-defined problem is half solved.
Check out the source code for the "Process Patcher" as it contains information (Masm32 assembly) that may help. Note this can also be done in C or C++ using the provided Windows API calls.
To send information from one application to other application are used files, sockets, pipes, messages. Also you may use SOAP, HTTP, RPC, COM, CORBA.... There is possible to write from application to other, but you should create a dll, register it to be loaded by all new staretd applications and use some communication methods to say that dll to do something. What will do your dll deppends on how do you implement the behavior of that in connection with different messages.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.