[TUTORIAL] Cheat Engine nivel avanzado. Tutorial completo

Iniciado por Mad Antrax, 26 Abril 2014, 02:55 AM

0 Miembros y 1 Visitante están viendo este tema.

NikNitro!

Yo no he podido avanzar con la duda sobre crear en c una aplicación que se encargue de leer datos del juego (porque no se como hacerla buscar la dirección estática de forma automática) -.-

Saludos;)

Mad Antrax

Cita de: NikNitro! en 21 Noviembre 2014, 18:31 PM
Yo no he podido avanzar con la duda sobre crear en c una aplicación que se encargue de leer datos del juego (porque no se como hacerla buscar la dirección estática de forma automática) -.-

Saludos;)

Preguntaste tu duda en el foro de C/C++? Hay librerias y toolkits preparados para hacer ese tipo de procesos, yo tengo una para VB6 que funciona muy bien, incluso hay una función interpretada para realizar un AoBScan(). De todas formas para continuar con el tutorial on necesitas hacer eso.

Saludos
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Guybrush@_@

Hola! muy bueno el tutorial lo entendi a pesar de que no se mucho de informatica  :laugh:  quería preguntarte si me podes enseñar a hacer lo mismo pero en un juego online que usa Unity Web Player?
Solo se que no se nada

Mad Antrax

Cita de: Guybrush@_@ en 23 Noviembre 2014, 22:02 PM
Hola! muy bueno el tutorial lo entendi a pesar de que no se mucho de informatica  :laugh:  quería preguntarte si me podes enseñar a hacer lo mismo pero en un juego online que usa Unity Web Player?

Como has podido leer en mi firma, no ayudo a modificar juegos online. El 90% de juegos online están programados de tal forma que las principales variables se almacenan en el servidor (server-sided). Programas de edición de memoria local (como Cheat Engine) no son capaces de conseguir resultado con juegos online. Para ello deberás adentrarte al mundo de la edición de paquetes TCP, pero ya te adelanto que es complejo.

Un saludo
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Guybrush@_@

Estaba probando lo de los paquetes TCP pero:
El juego cuando esta en single player se conecta con el servidor solo para cargar los datos del jugador e iniciar sesión, el juego prácticamente esta en la PC.
Se intercambian paquetes TCP solo en multijugador y todos son para poner a los otros jugadores en el juego.
Hay cosas del juego que no son hackeabes como la salud o el XP porque son guardados en el server pero hay hacks del juego que lo que hacen cambiar las variables del juego que afectan al jugador, como por ejemplo editar un valor para que el jugador sea invisible en vez  de hacerlo inmortal o detener el movimiento de todo el juego menos del jugador.
Y por últimos, con el Cheat Engine ya hackee el juego buscando los valores con la opción de array of byts y editarla.
No se si me explique bien no se casi nada de ingeniería inversa. Perdón por la insistencia. :-[
PD: No te estaba pidiendo ayuda para modificarlo si no que me digas como es que funciona.  :rolleyes: :rolleyes:
Solo se que no se nada

Mad Antrax

Cita de: Guybrush@_@ en 24 Noviembre 2014, 01:09 AM
Estaba probando lo de los paquetes TCP pero:
El juego cuando esta en single player se conecta con el servidor solo para cargar los datos del jugador e iniciar sesión, el juego prácticamente esta en la PC.
Se intercambian paquetes TCP solo en multijugador y todos son para poner a los otros jugadores en el juego.
Hay cosas del juego que no son hackeabes como la salud o el XP porque son guardados en el server pero hay hacks del juego que lo que hacen cambiar las variables del juego que afectan al jugador, como por ejemplo editar un valor para que el jugador sea invisible en vez  de hacerlo inmortal o detener el movimiento de todo el juego menos del jugador.
Y por últimos, con el Cheat Engine ya hackee el juego buscando los valores con la opción de array of byts y editarla.
No se si me explique bien no se casi nada de ingeniería inversa. Perdón por la insistencia. :-[
PD: No te estaba pidiendo ayuda para modificarlo si no que me digas como es que funciona.  :rolleyes: :rolleyes:

Correcto, la mayoría de juegos tienen sus variables importantes en el servidor (como la salud o XP que comentas). Pero los programadores a veces no pueden poner todas las variables en el server y algunas se controlan desde local. En esas casos podrás utilizar CE de forma habitual.

Lo más común es encontrar timers locales y coordenadas, por eso es viable crear un speedhack en muchos juegos online o teleporthack. En juegos donde sueles teener algñun tipo de cooldown (tiempo de espera entre ataque y ataque) se suele controlar desde local. ¿Como conseguirlo? Pues probando, la mayoría de coldowns son de tipo float y van desde XXX.XX hasta 0 para indicar al juego si puedes efectuar una acción o movimiento. En el caso de las coordenadas mira si es un juego en 2D o 3D y busca con increased o decreased cuando te muevas por el eje X, Y

Si queréis puedo ampliar la parte 2 del tutorial utilizando un ejemplo de juego online.

Saludos y suerte!!
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Guybrush@_@

Me gustaría que hagas un tutorial  ;D 
también me gustaría aprender a manejarme dentro de la memoria
Voy a ver si se pueden ver las coordenadas desde el CE, no me serviría mucho pero me ayudaría a comprender mejor como se maneja el juego internamente.
Solo se que no se nada

Xoslorg

También seria interesante el como buscar en juegos programados con C# o mono, tipos de ofuscacion de datos como por ejemplo XOR u otros métodos para que las variables no estén tal cual en memoria, me he encontrado juegos que guardan en 2 bytes, uno suma cuando llega a 255 vuelve a 0 y suma uno en el segundo, etc...
También no estaría mal un tuto mas avanzado del autoassemble.
Muchas gracias.
Si vis pacem, para bellum.

Mad Antrax

Cita de: Xoslorg en 26 Noviembre 2014, 20:25 PM
También seria interesante el como buscar en juegos programados con C# o mono, tipos de ofuscacion de datos como por ejemplo XOR u otros métodos para que las variables no estén tal cual en memoria, me he encontrado juegos que guardan en 2 bytes, uno suma cuando llega a 255 vuelve a 0 y suma uno en el segundo, etc...
También no estaría mal un tuto mas avanzado del autoassemble.
Muchas gracias.

Para .net y mono hay programado un datacollector que funciona MUY bien, lo mismo ocurre para juegos en JAVA. Por el momento no dispongo de ningún juego al que pueda aplicar dichos colectores, si conoces alguno dime el nombre y lo ojearé :)

El tema de ofuscación... es bastante complejo explicarlo. Cada juego ofuscado es un mundo y siempre terminarás tirando de ollydbg o similares para conocer a fondo lo que hace el juego. Podría programar algún juego ofuscado y enseñar como sacar el algoritmo, pero eso no significa que la lección explicada pueda aplicarse "tal cual" para el resto de juegos ofuscados... lo pensaré pero quizás para añadirlo en una tercera parte.

Sobre autoassemble nos meteremos de cabeza, intentaré enseñar un poco más a fondo el "poder" de autoassemble. También quiero tocar un poco de LUA, así como la inyección de código en juegos Direct3D (hookear el render y dibujar poligonos encima del juego, para un menú, crosshair, mostrar address y valores por pantalla... etc), aquí un humilde ejemplo:



Se puede ver el menú azul inyectado con un hook al directx (d3dhook). En resumidas cuentas, para el proximo tutorial hablaré:

- Coordenadas X, Y, Z
- Programar un teleporthack con autoassemble
- Diseccionar estructuras (avanzado)
- Inmovilizar objetos, enemigos o NPC's
- Metodo cheating: Data-to-pointer globalalloc()
- Introducción a la ofuscación (pondré un juego/reto)
- Autoassemble (lo tocaré en los distintos capitulos)
- Introducción al d3dhook()
- Alguna cosilla más.

Sobre el hack de juegos online... se me alarga demasiado el tutorial, ya veré si lo publico o lo dejo para más adelante

:P
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

Xoslorg

Ya, a lo que me refiero es a ver como se pueden guardar las variables en memoria para aprender a buscar bien y no quedarse simplemente con lo básico, entrenar la mente :D.
Efectivamente hay un data colector pero solo vale para sacar las estructuras del juego y diseccionar las creo, cada vez que reinicias el juego a buscar de nuevo.
Juegos .net hay muchos, Terraria por ejemplo, los que estén con xna o unity también, Teslagard.
Si vis pacem, para bellum.