Es bastante fácil, solo tiene que ejecutar un MD5 o SHA256 en su propio ejecutable, luego, cuando detecta que la firma ha cambiado de lo que codificó en el binario después de construir la versión final, entonces está claro que alguien hackeó su ejecutable. Entonces, la mayoría de las empresas, ya no solo muestran una ventana emergente (era el caso antes) que dice "PE roto" o "virus detectado" y luego salen del juego, porque esto será contrarrestado muy rápido por los hackers. Debido a que el juego está en pausa en el bucle de mensajes del cuadro de diálogo, es inmediato ver por qué rama se colocó el cuadro de diálogo, y simplemente omita la rama cambiando el código en la verificación de condición.
Hoy en día, las empresas utilizan cambios muy sutiles en la jugabilidad, como multiplicar la vida de los monstruos para que el juego no se pueda jugar, o se integre de manera increíblemente inteligente en este juego de administración, donde administras una compañía de juegos y finalmente pierdes porque demasiados jugadores piratearon tu juego. Nice mise en abyme en este caso. A veces, solo recibe una bandera roja cargada en los servidores de la compañía, y cuando desea llamarlos para obtener ayuda, recibe un discurso o queda atrapado para revelar su identidad.
Pero esto es todo tema, la técnica es hashing. y estas comprobaciones pueden ejecutarse en muchos lugares del binario, de modo que si los hackers encuentran uno y lo borran, no es suficiente.
EDITAR: si solo copia el juego tal como está, puede funcionar si el juego no tiene ninguna medida antipiratería. Funcionaba con juegos muy antiguos, pre grabadoras de CD. Por eso, la mayoría de las veces, el juego debe instalarse para ejecutarse, no solo la carpeta de instalación copiada. Esto implica archivos ocultos colocados un poco en todas partes del sistema y claves de registro. El juego verifica la presencia de estas cosas, que solo pueden ser creadas por el instalador. Y el instalador solo puede ejecutarse desde el CD, que no es copiable debido a bits erráticos que no respetan el sistema de código de corrección de errores en los primeros bytes del disco, que mata a la mayoría de los controladores del reproductor de CD. Algunos softwares de copia, como nero of alcohol, le proponen ignorar los errores, pero lo que queman es una copia corregida, el instalador lo detecta y listo.
EDIT2:
P: ¿cómo hacer un hash de un archivo y luego insertar el hash en el archivo que cambia el hash?
@ Byte56: Maldición, estamos recibiendo comentarios inteligentes aquí :) Sí, es una paradoja y no se puede resolver. Por lo tanto, el hash debe hacerse por parte del binario que no contiene el hash. Y el código de verificación tiene que saber eso, para excluir esa zona cuando se realiza el hashing para autoverificarse. He visto personas que usan etiquetas, como ~~ #### [poner hash aquí] #### ~~ para encerrar su hash y hacer la exclusión. Pero tiene la falla de ser fácil de detectar para los piratas informáticos, por lo que el hash debe ser codificado y dispersado en múltiples ubicaciones. Incluso encriptado por qué no, y la misma operación de camuflaje va a almacenar la clave privada.