Como crear un hack para obtener monedas ilimitadas en videojuegos con Visual Studio y Cheat Engine

En esta entrada, vamos a aprender como crearnos nuestro propio hack para videojuegos con el objetivo de obtener 💰 monedas ilimitadas, para el ejemplo, voy a crear un hack para el videojuego  «El Señor del Olimpo Zeus», uno de mis juegos favoritos. El hack, lo desarrollaremos en Visual Basic con Visual Studio y Cheat Engine para encontrar la dirección de memoria dónde el videojuego almacena las monedas. Comentaros, que he elegido este videojuego por lo simple que resulta buscar las direcciones de memoria (son estáticas), en otros videojuegos, podemos encontrarnos direcciones de memoria dinámicas (cambian cada vez que se ejecuta el videojuego), las cuales se precisa encontrar los punteros previamente para que el hack funcione, aunque los pasos son exactamente los mismos para encontrarlas, demora demasiado tiempo, quizás, en otra ocasión me anime a hacer un vídeo cuando tenga más tiempo. Os dejo este enlace por si queréis mirar más a fondo.

 

📝 Índice

1. Herramientas necesarias

2. Encontrar la dirección de memoria que almacena las monedas con Cheat Engine

3. Desarrollo del hack con Visual Basic en Visual Studio 2017

4. Código fuente del proyecto en GitHub

 

🛠️ 1. Herramientas necesarias

1.1 Instalar el Entorno de Desarrollo Integrado (IDE) Visual Studio Community 2107

1.2 Instalar Cheat Engine

 

🔍 2. Encontrar la dirección de memoria que almacena las monedas con Cheat Engine

2.1 Ejecutamos el juego (recomendado abrirlo en modo ventana) y localizamos el valor a modificar (5000).

2.2 Abrimos Cheat Engine y buscamos el proceso en ejecución del juego.

2.3 Vamos a proceder a buscar la dirección de memoria que almacena el valor 5000, en la parte Value: agregamos el valor 5000 y damos click en First Scan.

2.4 Nos ha encontrado 19 direcciones de memoria que usa el proceso del juego para guardar variables con el valor 5000, estas direcciones, tenemos que ir descartándolas hasta obtener la dirección real que guarda el valor ¿Que como se descartan? Si nos fijamos ahora, ya no aparece el botón First Scan, aparece otro llamado Next Scan (ahora os explico).

2.5 El objetivo en este punto, es modificar el valor en el juego, por ejemplo, vamos a gastar monedas (Me quedo ahora con 4910).

2.6 La finalidad del botón Next Scan, es indicarle a Cheat Engine que me busque aquella dirección de memoria que, en un principio tenía el valor 5000 y ahora tiene el valor 4910, por lo tanto, cambiamos el Value: a 4910 y damos click en el boton Next Scan (dependiendo del juego, este proceso tendremos que seguirlo varias veces hasta dar con la dirección de memoria). Ahora, ya he encontrado 3 direcciones que guardan ese valor, voy a quedarme con la primera (00EF2E74), aunque me valdría cualquiera de las 3 ya que he probado a cambiar el valor en el juego y cambian su Value en todas.

 

👨‍💻 3. Desarrollo del Hack en Visual Basic con Visual Studio 2017

3.1 En esta parte, vamos a programar el hack, abrimos Visual Studio 2017 y vamos a Archivo, Nuevo, Proyecto.

3.2 Elegimos un proyecto de Visual Basic, Aplicación de Windows Forms (.NET Framework).

 

3.3 Una vez creado el proyecto, vamos a crear una clase que nos permita leer y escribir en las direcciones de memoria, click derecho sobre la solución (panel de la derecha) y elegimos Agregar, Nuevo elemento.

3.4 Elegimos Clase de Visual Basic y ponemos un nombre, por ejemplo, ReadWritingMemory.vb y pegamos el código de aquí.

3.5 Modificamos el form a nuestro gusto, yo he creado dos botones (uno que lanza una ventana sobre el hack y otro para modificar las monedas), un label que me indica si el proceso está ejecutándose y un TextBox para añadir la cantidad de monedas a hackear, también he añadido algunos recursos como la imagen de fondo del form y un Dracma, el aspecto que queda es este:

3.6 Agregar el código principal del programa, en Form1.vb, click derecho y Ver código (o pulsando F7) lo tengo comentado para que echéis un vistazo, cualquier duda, comentadme.

3.8 Iniciamos y probamos el hack.

 

 

👁️‍🗨️ 4. Código fuente del proyecto

 

Hasta la próxima👋

 

48 comentarios en “Como crear un hack para obtener monedas ilimitadas en videojuegos con Visual Studio y Cheat Engine”

  1. Avatar

    hola javier, cuando introduzco los números en value y pongo en first scan, después de eso gasto algo de dinero en el juego que quiero hackear y lo pongo en next scan no me sale nada, y lo intente varias veces pero no me sale nada, me podrías decir como solucionar esto?

  2. Avatar

    hola Javier!!! esto me sirve para ddtank global ?? o sea con cheat engine no se puede…no se con Visual studio.. no lo conosco como trabajarlo ,dame una idea xq no entiendo donde y como empezar y seguir..saludos

  3. Avatar

    Ante todo saludos y gracias de ante mano, señor Javier Olmedo.
    Hoy a penas vi este sitio web, estoy tratando de hackear algunas monedas en mi juego favorito
    Ragnarok, el juego tiene muchos años (tal vez ya halla cumplido un par de décadas).
    Hacía mas de 10 años que no lo jugaba, pero volvió el año pasado para android.
    Y bueno que te puedo decir, me trae demasiados recuerdos buenos y empecé a jugar otra vez.
    El juego está muy rudo para hacer monedas,e intenté hackearlo (solo tengo un mes jugando, y solo tengo intentando hackearlo desde hace 2 días atrás)
    Con un programa tipo Cheat Engine logré cambiar el valor de mis monedas (la alegría me duró 1 segundo, ya que al gastar una moneda, el valor de las monedas se actualizó a: (valor que tenia) – (lo gastado).
    Es decir, la herramienta si logra ubicar y cambiar la variable correcta, pero la variable luego es actualizada al hacer un cambio.
    No creo que Visual.net ó Visual Basic me sirvan de algo en android.
    Pero ya que veo que estas activo en esta pagina, estaré muy agradecido de contar con su ayuda y/ó apoyo.
    Muchas gracias.

          1. Avatar

            Tengo un juego online que ya va varios meses intentandolo hackear se llama Monster Legends. El problema es que cuando uso el cheat engine el juego lo detecta y de repente me aparece como un cartel que me dice que vuelva a recargar o se cierra repentinamente el juego y no modifica ningun valor agregado … me puedes ayudar con esto . .. Gracias de antemano

          2. Avatar

            Hola Javier, el problema que tengo es que ya va varios meses intentando hackear un juego online llamado Monster Legends… la cuestion es que cuando comienzo a modificar algo con el cheat engine, el juego lo detecta y aparece como un aviso que menciona que vuelva a recargar o algo salio mal.. repentinamente el juego se cierra y cuando vuelvo a entrar al juego no se modifico ningun valor… me puedes ayudar con esto … Gracias de antemano

          3. Avatar

            el problema es con un juego llamado monster legends (online).. no me deja modificar ningun valor porque el juego se cierra repentinamente cuando lo hago … alguna solucion amio… Gracias de antemano

        1. Javier Olmedo

          Buenas Alec,
          El proceso es el mismo, únicamente tienes que encontrar el puntero, busca algún tutorial en Google sobre direcciones dinámicas y punteros.
          A la hora de generar el hack, el lugar de apuntar a la dirección de memoria apuntas al puntero.

          Saludos!!

  4. Avatar

    Hola, buen aporte solo una duda, tal cual esta tu proyecto es solo cuestion de cambiar la direccion de memoria del juego y el nombre del proceso(juego) que se esta ejecutando o se le tiene que cambiar algo mas al codigo para que funcione con otros juegos? (Es para el juego de uno de facebook). Gracias por tu atención

  5. Avatar

    Hola amigo Javier, es muy interesante tu post. Quisiera saber si tienes algun tutorial yo trabajo con VS y C# me gustaria crear algo asi para otros juegos para obetener gemas o monedas.

    1. Javier Olmedo

      Buenas,
      El tutorial está en VB, pero es prácticamente lo mismo en C#, además la librería la tienes para los dos lenguajes.
      El proceso para otros videojuegos es el mismo, únicamente, puede costarte más encontrar la dirección de memoria, pero el proceso es el mismo.
      Saludos.

      1. Avatar

        Hola Javier, mi nombre es Jeffrey. Me gustaría contactarme contigo para hablar acerca de un juego en línea. Me gustaría realizar un trabajo contigo si es posible, y obvio que sé que todo debe tener un costo. Ojalá puedas dejarme algo donde contactarte. Gracias y saludos desde Colombia.

        1. Javier Olmedo

          Hola Jeffrey,
          Actualmente estoy trabajando en varios proyectos y, lamentablemente, no tengo demasiado tiempo libre 🙁
          Siento decirte que no podré ayudarte, pero por aquí estaremos si tienes alguna consulta sobre el tutorial!!
          Saludos!!

Deja tu comentario

Ir arriba