Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++: How do applications like Cheat Engine and ArtMoney work?

After asking this question (C++: Can I get out of the bounds of my app’s memory with a pointer?),
I decided to accept it isn't possible to modify other app's memory with pointers (with a modern OS).

But if this isn't possible, how do programs like ArtMoney and CheatEngine work?

Thanks

like image 786
Martijn Courteaux Avatar asked Jun 04 '10 17:06

Martijn Courteaux


2 Answers

Check these functions: ReadProcessmemory WriteProcessmemory

like image 92
max Avatar answered Oct 12 '22 08:10

max


It is possible to read process memory on Windows. There is a function, called ReadProcessMemory in kernel32.dll: http://msdn.microsoft.com/en-us/library/ms680553(v=VS.85).aspx

This is used by most applications that change memory of other applications. It can also be used to communicate between two processes (though mostly not recommended).

CheatEngine is a debugger with a non-traditional interface.

like image 30
Pindatjuh Avatar answered Oct 12 '22 07:10

Pindatjuh