Does anyone know how to poke the memory that another process is using? Like to change a number in a game?
Does anyone know how to poke the memory that another process is using? Like to change a number in a game?
I'm using Windows 2000 (and MSVC++ 6).
no can do. windows 2000 is a real operating system. it will block any attempt to access memory outside your process.
hello, internet!
Are you sure? Because there are programs like ArtMoney that let you search through and edit other applications' memory.
there is an api func called WriteProcessMemory(). I havent used it. I believe its for debugging purposes but you might be able to do something with that and OpenProcess()
Free the weed!! Class B to class C is not good enough!!
And the FAQ is here :- http://faq.cprogramming.com/cgi-bin/smartfaq.cgi
but how do you get a handle with the PROCESS_VM_WRITE flag?Originally posted by vVv
>it will block any attempt to access memory outside your process
Nope, not neccessarily. There are ReadProcessMemory( ) and WriteProcessMemory( ) API calls that do just that, provided the process handle has PROCESS_VM_READ and PROCESS_VM_WRITE/PROCESS_VM_OPERATION access, respectively.
hello, internet!
OpenProcess()
Free the weed!! Class B to class C is not good enough!!
And the FAQ is here :- http://faq.cprogramming.com/cgi-bin/smartfaq.cgi
You're going to need to use FindWindow() then OpenProcess() and finally ReadProcessMemory() or WriteProcessMemory()
but OpenProcess() will not let you get a handle for reading and writing to the memory without proper security clearance, and i'm willing to guess that most commercial apps wont let you do that.
hello, internet!
Does anyone know how you would get the process handle from the window handle?
Never mind, its GetWindowThreadProcessId.
To alter memory with WriteProcessMemory() and ReadProcessMemory() works.
My hexeditor HyperEdit uses these functions.
The tricky part is to find out which addresses are valid to read from. My solution is to scan the addresses in 1024-byte intervals for valid adresses.
Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling