Entrenador , entrenador ( ing. entrenador ) - un programa diseñado para cambiar los parámetros del juego (por ejemplo, "puntos de vida" para hacer que el jugador sea "inmortal"), por lo general funcionan directamente con la memoria RAM de la computadora . Más útil para juegos que no proporcionan códigos de trucos.
En las décadas de 1980 y 1990, los piratas informáticos comúnmente incrustaban entrenadores directamente en el código del juego . Al iniciar el juego, el entrenador se inició por primera vez con el cuadro de diálogo "¿Quieres usar trucos ?" A continuación, se ejecutó el código del juego. El nombre del formador utilizó signos de suma (+), uno para cada opción del formador. Por ejemplo, "Group of Hackers presenta: Game+++" (3 opciones, por ejemplo: inmortalidad, munición infinita y teletransportación).
Los entrenadores modernos generalmente se ejecutan como un programa independiente (antes del juego) y usan un solo signo adicional con varias opciones después de él en sus nombres, como Doom 3 Trainer +15 . Además, los entrenadores modernos trabajan con la memoria RAM del juego y no con su archivo ejecutable, ya que los sistemas de protección contra copia complican la realización de cambios en el archivo ejecutable.
Para crear entrenadores, se utilizan volcadores de memoria, depuradores y desensambladores. La forma más fácil de crear un entrenador es buscar en la memoria valores que coincidan con el parámetro de juego deseado. Luego cámbielo y busque en la lista resultante nuevamente. Después de varias iteraciones , lo más probable es que haya una pequeña lista de direcciones , cuyos valores puede intentar cambiar. Hay muchas utilidades ( ArtMoney , Cheat'o'Matic...) que automatizan el proceso de búsqueda y cambio de valores.
En algunos casos, el valor del juego deseado cambia constantemente su posición en la memoria. En este caso, puede intentar encontrar un puntero (posiblemente con un ligero desplazamiento si el valor del juego está en alguna estructura de datos). Si el puntero también cambia su posición en la memoria, entonces puede buscar un puntero a este puntero, etc. También puede poner puntos de interrupción para acceder a la dirección del valor del juego y analizar el código que los lee o los cambia.
Si el valor del juego es un campo de alguna clase, puede buscar instancias de esta clase apuntando a la tabla de métodos virtuales. Encontrar tablas de métodos virtuales no es difícil debido a su estructura específica. Además, a menudo contienen un puntero al nombre de la clase. Al buscar instancias de una clase, es conveniente determinar si ha sido eliminada por las banderas del administrador de memoria (que depende del lenguaje de programación en el que esté escrito el juego).
Los entrenadores se crean de las siguientes maneras:
Hay 3 tipos de juegos para los que se pueden crear entrenadores de diferentes formas:
Si el juego tiene una tabla de clasificación oficial o el juego está en línea (y no todos los cálculos se realizan en el lado del servidor), entonces la existencia de entrenadores arruina el espíritu del juego. En este caso, debe incorporar un sistema de protección contra entrenadores, ya que los sistemas de protección contra copia no pueden hacer frente a esta tarea. Para ello, se cifran los parámetros más importantes del juego (y se descifran durante un breve periodo de tiempo antes de su uso) o se crea una copia cifrada (con la que se compara constantemente el parámetro original). Para eludir tales protecciones, uno no puede prescindir de desmontar el programa.
Los entrenadores pueden ser reconocidos por el software antivirus como un virus/troyano o un programa potencialmente peligroso. Esto se debe a que los entrenadores suelen ser programas que interceptan pulsaciones de teclas y cambian el contenido de la memoria de otros programas (juegos) y, dependiendo de la configuración del analizador heurístico de un antivirus en particular, pueden bloquearse o eliminarse. Por regla general, se trata de falsos positivos, aunque hay excepciones [1] .