Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

how can i write bytes on other process's address?

Status
Not open for further replies.

23925

Programmer
Jul 26, 2003
5
PH
how can i write bytes on one process's address other than current running process address?
thanks...
 
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.
 
Sometimes "crackers" and other questionable programmers yield interesting works:

(has curse words in code, sorry)

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.

Ion Filipski
1c.bmp
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top