engine cheat low-level anti-cheat

low-level - cheat engine 5



¿Cómo funciona el hackeo de velocidad de CheatEngine? (3)

Cheat Engine viene con una característica llamada hackeo de velocidad que, básicamente, puede ralentizar o aumentar la velocidad del juego. En realidad, no solo los juegos, si hay un software con reloj que hace tictac, también puede acelerarlo. ¿Cómo funciona? Podría imaginar que hay un reloj interno en el que funcionan estas cosas, pero no estoy seguro de cómo suceden estas cosas en un nivel bajo.

Si bien esta función ha funcionado en la mayoría de los juegos que probé, también ha fallado en muchos, por ejemplo, NFS Most wired. ¿Por qué? ¿Hay algún mecanismo diferente en el que se ejecutan estos juegos o es solo un poco de anti-trampa?


Creo que la razón por la que no funciona en algunas aplicaciones (en su mayoría juegos) es que algunos juegos vinculan el reloj del juego a los cuadros por segundo. Por lo tanto, tu juego se ralentizará o se bloqueará si intentas piratearlo rápidamente.

Fuente: http://hackerbot.net/tutorials/353-speed-up-hack-slow-down-cheat

Personalmente solo he encontrado muy pocos juegos que no reaccionarían al speedhack. Incluso si están vinculados al FPS, aún puedes acelerarlo en cierta medida.


Tres años después, creo que sé lo suficiente como para responder mi propia pregunta. :)

Un programa de computadora generalmente se comunica con el kernel usando funciones predefinidas llamadas llamadas al sistema. Cada sistema operativo tiene un conjunto diferente de llamadas, pero a menudo hacen cosas similares como: asignar memoria, leer y escribir archivos o manejar procesos. Según esta página , hay alrededor de más de 480 llamadas al sistema en el núcleo de Windows NT.

Para cualquier propósito que tenga que ver con el hardware, los programas generalmente recurren a las llamadas al sistema porque eso es lo que hace el sistema operativo mejor y una de estas cosas es conocer el tiempo. Los juegos de computadora a menudo necesitan renderizar 60 cuadros / segundo y para que esto suceda, necesitan llamar a la función de renderización cada 16.6 ms . En Windows, " GetTickCount() " se usa generalmente para esto, que devuelve el número de milisegundos transcurridos desde que Windows se ha activado ("Si no se ha pasado ninguno de los milisegundos desde que el último recuento de tics es de más de 16 ms , renderizar un nuevo marco para continuar" ).

SpeedHacking, en general, funciona inyectando código en el proceso de ejecución y pirateando las funciones de tiempo para devolver "tics" acelerados / ralentizados para modificar la velocidad de ejecución del programa.

Aunque, no puedo estar seguro de cómo exactamente CE logró esto (el código fuente es bastante difícil de entender) pero otro programador logró algo similar ( video ) en Linux. En el código fuente , puede ver cómo el autor modificó una llamada de sistema similar para Linux (" gettimeofday() ") para esto.

go gettimeofday_orig; int val; gettimeofday_orig=(go)dlsym(RTLD_NEXT,"gettimeofday"); if (!timezero) { timezero = new timeval; val = gettimeofday_orig(timezero,tz); (*tv) = (*timezero); return val; }

No estoy seguro de cómo se detectó, pero me gustaría seguir con la idea de @ Harold de que el juego probablemente detecte la inyección de DLL.


Trucos de los motores de Speedhack viejo :

  • Ejecuta la aplicación en un hilo de muy alta prioridad.
  • Utiliza el tiempo de dormir para acelerar el juego.
  • Cuando se llama a una función, se le dará un temporizador emulado que se acelerará

Cheat Engines Nuevo Speedhack:

  • Cuando la dll de Cheat Engine speed se inyecta en el programa, se modifica a la velocidad que seleccionó en el panel Cheat Engine
  • Establece una referencia base de la hora actual.
  • tiempo devuelto = basetime + ((currenttime-basetime) * speed

Detección:

  • Ambos métodos son fáciles de detectar enviando un paquete con el tiempo cada par de segundos para ser validados por un servidor
  • El juego puede ser capaz de detectar el dll que está siendo inyectado.

Fuente: http://wiki.cheatengine.org/index.php?title=Cheat_Engine:Internals#Speedhack