Suppose we developed a desktop game that saves players high scores on the server. how can we prevent (or at least protect in some degree) the player from cheating by using a software such a cheatengine to alter the result and then send higher record to the server? I know about dotfoscator. But i don't think that would be enough .
The best way would be to send all the player's moves to the server and verify that those moves result in the submitted score. Not easy if you use a lot of floating point though since you won't have the required repeatability.