Originally Posted by
SailorMars
I am working on the 8.0 live retail version.
I wrote my own memory scanner that implements some of the features of Cheat Engine (like scanning changed memory). Now I want to set break points and do some more advanced debugging. But I have no idea how to do it safely. Where should I start?
Normally, to set break point, i would suspend a target thread, change the Debug Register by calling SetThreadContext(). But is it safe to do it in the retail client? Do they constantly monitor the debug registers?
Also, if i need to debug the client, is it a must do dump the memory by ReadProcessMemory and analyze the dump file offline? Is it possible to interact with a live client safely? (it seems that at least a thread is constantly sending/receiving data to the server and setting breakpoints on that thread would get you disconnected)