I used to think that what cheat engine does is pretty much trivial: going to an address and simply modifying it but I realze now that things are not that simple. Each process has it's own virtual memory and two processes can't play with each others memory. So how exactly goes cheat engine able to modify other processes memory?
Tell me more
×
Super User is a question and answer site for
computer enthusiasts and power users. It's 100% free, no registration required.
|
|
A process can be attached to another process such that it has access to that process's memory. This is designed for debugging programs - a debugger needs to be attached to the process being debugged, and needs to be able to read any memory data, break execution, edit memory data, inject code, etc. Cheat Engine just re-purposes these debugger functions in order to cheat in games. |
|||
|
|
|
Reading about GDB may shed some light on this. This question and this question discuss similar things. |
|||
|
|