Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
    
Scans the writes to memory and reads to memory from a specific program. You then search for that string and modify it. You do this a few times and it will narrow down the memory address. However, if there is server side validation on the game, it may not work or do anything. In fact, if the game is searching for such modifications like Warden from Blizzard, then you may be banned. –  kobaltz Feb 10 '13 at 5:00
add comment

2 Answers

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.

share|improve this answer
add comment

Reading about GDB may shed some light on this.

This question and this question discuss similar things.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.