Anuncio

Colapsar
No hay anuncio todavía.
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • [TUTORIAL] Guia de como usar Cheat Engine para modificar juegos y inyección de código






    Hola a todos, os traigo un completo tutorial para que aprendáis a utilizar Cheat Engine (a partir de ahora CE). Algunos quizás conozcan ésta herramienta para hacer trampas en algunos juegos, lo que a lo mejor no sabían es que es una herramienta MUY completa, con un debbuger genial, comparador de estructuras e inyección de código.

    Para enseñar como funciona CE, he programado una especia de "video juego" en VB6. Lo he programado especialmente para éste tutorial, así que no esperéis que sea un juego divertido, jajaja.


    DESCARGA EL JUEGO: http://www.mediafire.com/?ucuhy8ebun71s8j
    DESCARGAR CHEAT ENGINE 6.2: http://cheatengine.org/
    El juego es muy sencillo y he añadido las típicas características que podéis encontrar en el 90% de los juegos actuales: Tiempo, Vida o Magia, Objetos en un inventario, etc...

    Nuestro objetivo será aprender a usar CE de forma básica para modificar la memoria de un proceso. Cuando tengáis algo de soltura, os enseñaré a inyectar código en un juego para conseguir mejores "trucos". Os iré enseñando paso por paso con capturas de pantalla lo que debéis hacer.

    1. Primero abrimos el juego y cargamos la partida, a la derecha tendréis vuestra salud y magia, así como el tiempo del juego. A la izquierda vuestra mochila de objetos (vacía) y abajo los controles del juego. En la parte central aparecen los eventos, a modo de información.

    2. Abrimos CE y pulsamos el primer botón situado en la esquina superior izquierda, es para abrir el proceso que queremos debuggear o trucar. Está remarcado con un recuadro coloreado.


    2. Ahora aparece una ventanita mostrando los procesos en ejecución, por norma general, los procesos abiertos en último lugar a parecen al final del listado. Buscamos el nombre del juego y hacemos doble-click (OPEN)


    3. Ahora ya tenemos el proceso abierto, volvemos al juego y empezaremos a "trucar". Nos vamos a centrar en el tiempo. Abajo tienes un botón para poder pausar el juego, esto facilita un poco las cosas. Pulsamos pausa y miramos que valor tenemos en el tiempo, en mi caso lo he pausado en 81


    4. Vamos a la ventana del CE, en la parte central hay 3 recuadros, son los más importantes y ahí especificaremos la búsqueda que queremos realizar. Empezaremos poniendo:

    Value: 81
    Scan Type: Exact Value
    Value Type: All

    En "Value" ponemos el valor de la variable que queremos modificar/trucar. En mi caso es 81, ya que es el valor que hay en el juego. Como he puesto pausa, el tiempo no decrece y por eso es más fácil buscarlo.

    En "Scan Type" ponemos "Exact Value", ya que en mi caso conocemos el valor exacto que queremos buscar (81). Si por casualidad quisieramos buscar un valor desconocido usaríamos "Unknow initial value" (este ejemplo lo veremos al hackear la saludo o maná del jugador, más adelante)

    En "Value Type" ponemos "All". Normalmente el 90% de los juegos usan variables de tipo 4-byte, es lo más común, pero en mi juego de ejemplo, las variables son de 2-byte. Por eso, si tienes dudas y no sabes que valor tiene una variable, lo mejor es poner All y CE buscará todas las posibilidades.

    Pulsamos el botón FIRST SCAN


    CE hará una búsqueda muy rápida y me mostrará TODAS LAS DIRECCIONES DE MEMORIA que contengan en valor exacto 81, en mi caso han salido 438 direcciones. Que significa eso?

    Esas 438 direcciones contienen el valor 81 en su interior, lo que significa que 1 de esas 438 será la dirección encargada de almacenar el tiempo del juego. La verdad que 438 son demasiadas así que deberíamos reducir ese número, como lo hacemos? Muy fácil.

    1. Quita la pausa en el juego y deja que el valor siga decreciendo, en mi caso dejo que llegue hasta 79 y pulso de nuevo pausa para dejarlo ahí quieto.

    2. Volvemos al CE (sin cerrar nada) y cambiamos los valores:

    Value: Quitamos el 81 y ponemos 79 (en tu caso por el valor que salga en tu pantalla)
    Scan Type: Exact Value (Al ser un número conocido, ponemos un valor exacto)
    Value type: All

    Y ahora pulsamos el segundo botón que pone: NEXT SCAN. Ojo y no pulses NEW SCAN, ya que borrarías las anteriores 438 direcciones encontradas y tendrías que empezar de nuevo:


    En mi caso CE ha devuelto solo 2 direcciones encontradas

    60EAFC:1
    60EAFC:2

    Los número de :1 y :2 significan el tipo de dirección, es decir de 1-byte y de 2-byte. Si nos fijamos es la misma dirección de memoria solo que nos da la posibilidad de trabajar con 1-byte o 2-bytes. Hacemos doble click sobre 60EAFC:2 para mandar la dirección encontrada a la parte inferior.


    Ahora que tenemos la dirección en la parte inferior hacemos doble click en su valor, se nos abrirá una ventanita donde podemos cambiar el valor de la dirección, ponemos 99 y damos aceptar. Hacemos lo mismo en la descripción y ponemos la palabra "TIEMPO" (ésto es solo a nivel interno y nos ayudará a ser más ordenados). Por ultimo marcamos la casilla. Lo que hace esta casilla es forzar a que esa dirección contenga SIEMPRE ese valor:


    Así es como debería quedar, ahora vuelve al juego y quita la pausa, verás como el tiempo ya no decrece, se queda congelado en un mismo valor. Posiblemente te aparezca 98, eso es debido a que el juego coge el valor (99) le resta -1 y lo muestra, pero CE vuelve a escribir 99 consiguiendo un Cheat/Truco de tiempo ilimitado

    =========================================

    Bueno, hasta aquí la primera lección, es lo más fácil y sencillo de CE, supongo que la mayoría ya domináis éste tipo de función. Si veo que el hilo ha tenido buena aceptación me animaré a hacer las siguientes partes:

    1. Uso básico de CE
    1.1 Buscar una variable y modificar el valor/frezee
    1.2 Buscar una variable de valor desconocido
    1.3 Buscar una variable de valor desconocido (difícil)
    2. Inyección de código
    3. Creación de un trainer
    4. Comparar estructuras

    Por el momento hemos llegado al 1.1 Prueba de realizar este sencillo tutorial y comenta en el hilo como te ha ido, si tienes problemas o dudas. Para los más animados, os podéis avanzar e intentar trucar vuestra salud/vida, haciendo que la barra roja no decrezca. Os dejo una pista: Trabajar con Unknow initial value y usar los tipos Decreased value o Increased. Si no os sale no pasa nada, ya que lo explicaré en la próxima lección

  • #2
    interesante......

    Comentario


    • #3
      Gracias, tendré que aprender con juegos de arcade
      lo intentare gracias..

      Comentario


      • #4
        interesante bro.......

        Comentario


        • #5
          Seria interesante que dijeras como se crea un aimfix, con Cheat Engine.

          Comentario


          • #6
            Aero como usar el cheat engine en zula

            Comentario


            • #7
              Hola, como hago para usar el cheat engine en rust? Porque cuando lo intento de abrir me salta Access Violation y no se que hacer.

              Comentario


              • Aero
                Aero comentó
                Editar un comentario
                Los juegos online suelen tener sistemas de seguridad contra este tipo de herramienta

            • #8
              hola te comento mi situacion... yo quiero crear un trainer para weed shop 2 a la hora de hackear el dinero y la marihuana lo puedo hacer sin problemas pero cuando quiero hackear la xp no encuentro el valor ya probe de muchas formas ...desde ya muchas gracias

              Comentario


              • Aero
                Aero comentó
                Editar un comentario
                esos son valores calculados y almacenados en el servidor del juego. Mismo q intentes cambiarlo el servidor lo reseteara

            • #9
              yo quiero aprender a programar hacks para juegos fps quien me enseña

              Comentario

              Trabajando...
              X