Escenario 1: el jugador puede oler la red.
Esto se puede prevenir con HTTPS.
Solo, si el jugador tiene el control total del cliente, puede parchear al cliente para proporcionar y tal vez modificar la información de texto sin formato directamente en la aplicación (es decir, el juego). Pero esto no está cubierto por sus suposiciones en el escenario 1.
Escenario 2: ... y tiene acceso al código fuente del juego (no del servidor).
Asegúrese de que el código fuente que tiene el cliente no sea suficiente para jugar, es decir, implemente partes relevantes de la lógica de los juegos fuera del alcance del cliente: en el servidor. Cómo se puede hacer esto depende mucho de cómo funciona el juego.
Además de eso, puede intentar ofuscar el código para hacer que la ingeniería inversa sea más difícil, firmar digitalmente cualquier mensaje del servidor para que un atacante no pueda falsificarlo (aunque podría cambiar el código para deshabilitar la comprobación de firmas) ... Pero al final solo puedes hacerlo más difícil y no imposible. Los jugadores conocedores podrían, por ejemplo, tratar de escribir su propio servidor que implemente una lógica de juego similar a la que ya tiene para dejar de depender de sus servidores.
Esto significa que debe ser más fácil y más atractivo pagarte en lugar de intentar piratear el juego. Puede ayudar a esto si el juego es lo suficientemente barato para empezar. O si hay elementos atractivos fuera del juego que valgan la pena pagar.
En cuanto a hacer que el pirateo sea más difícil, podría ser útil tener varias versiones del juego con diferentes tipos de protecciones en el mismo, de modo que los hacks "genéricos" solo cubran algunas de las versiones del juego, lo que hace que sea más barato solo para comprar. de para hackear el juego. O haga que las partes de la comunicación sean específicas para cada instalación del juego, es decir, dependiendo de la identificación del usuario usuario para la autenticación. Otra forma contra la propagación de hacks genéricos es lanzar nuevas versiones regularmente que interactúen de manera diferente con el servidor y que requieran el desarrollo de un nuevo hack, lo que frustrará a los usuarios que confían en los hacks en lugar de pagar.