I currently have a multiplayer game that players are starting to use memory editing to to cancel attack animation making the attack packets come-in faster or making the attacks a lot faster than normal.
Yes a better design would be ideal but that could take a while. I wanted to get a temporary fix that can be done quick.
The ideas:
- Check time difference between the last attack packet ignore everything that is too fast. (for server)
- Use
EnumWindowscheck for window classes and stop the game if a known memory editor is detected.EnumWindowswill be executed each time an attack is made. (for client) - Use
ReadProcessMemoryto read running processes and find signitures for known memory editors.
Well the question really is if any of the following could work and how it would be done:
- Detour
ReadProcessMemoryorOpenProcessand exit when called? (though I think this wont work because these functions gets called by the memory editor not my game). ReadProcessMemoryon my self(game) and check the addresses that they are changing. Check if the values are not within the normal range then exit.- Any suggestions?
I know that it is futile to do this because cheaters that knows what their doing can still get around all this. But my game has only about 600 active players, I believe they are just somewhat scriptkiddies. I think this simple countermeasures should be enough for small games like mine. But of course, the design will be corrected.
Aucun commentaire:
Enregistrer un commentaire