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👋

 


Javier Olmedo

Consultor de Ciberseguridad e Investigador de Seguridad de Aplicaciones Web en mi tiempo libre, Técnico en Sistemas Informáticos y Técnico Superior en Desarrollo de Software, apasionado de la [In]Seguridad Informática.

43 commentarios

jorge · martes, 23 julio, 2019 a las 10:02

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?

skywalker · sábado, 20 julio, 2019 a las 05:21

buenas javier este tipo de hack me sirve paara un jueg de facebook que tengo tiempo tratando de hackear pero nunk e podido de antemano agradezco tu respuesta

    Javier Olmedo · lunes, 22 julio, 2019 a las 08:30

    Si, sirve.
    Lo único que en la parte de Cheat Engine, tienes que seleccionar el navegador, dado que no encontraras el proceso del juego como tal.
    Saludos!!

    Wilfredo argueta · martes, 6 agosto, 2019 a las 05:04

    hola Javier olmedo será que me puedes ayudar a hackear el juego nova legacy y que se pueda jugar multijugador saludos

Dario · lunes, 15 julio, 2019 a las 00:59

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

    Javier Olmedo · lunes, 22 julio, 2019 a las 08:26

    Hola Dario,
    Siento decirte que no conozco el juego, pero entiendo que se podrá dado que se ejecuta en tu equipo, no es así?

    Saludos,
    Gracias!!

Omega · sábado, 15 junio, 2019 a las 06:56

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.

    Javier Olmedo · martes, 25 junio, 2019 a las 11:30

    Hola Omega,
    Posiblemente los valores se almacenan en la parte de servidor, en ese caso, puedes crear un hilo para que siempre te mantenga las monedas en el cliente.
    Saludos

      Giordan Q Martinez · miércoles, 17 julio, 2019 a las 05:57

      Amio como creo eso, me puedes ayudar o brindame algun contacto tuyo porfavor

        Javier Olmedo · lunes, 22 julio, 2019 a las 08:27

        Hola Giordan,
        ¿En qué te puedo ayudar?

        Saludos!!

          Giordan Q Martinez · lunes, 22 julio, 2019 a las 21:40

          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

          Javier Olmedo · domingo, 4 agosto, 2019 a las 02:44

          ¿Que versión tienes? Prueba con la 6.3, que añadieron nuevos modulos.

          Giordan Q Martinez · lunes, 22 julio, 2019 a las 21:44

          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

          Giordan QM · lunes, 22 julio, 2019 a las 21:47

          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

el sheii · miércoles, 15 mayo, 2019 a las 04:54

hola buenas tardes, al poner la dirección de memoria me da error, mas sin embargo el código no es la misma que las fotos

porche27 · miércoles, 10 abril, 2019 a las 19:50

hey harias uno para duplicar items en nostale, el cheat eagin no lo hace, ya que es un juego online.

    Javier Olmedo · lunes, 15 abril, 2019 a las 08:11

    Hola porche27,
    El post pretende ser una introducción a la modificación de valores en memoria.
    No puedo crear uno, pero estaré encantado de ayudarte!!
    Saludos.

Vantgucci · domingo, 27 enero, 2019 a las 19:36

¿sirve para la aplicacion amino?

    Javier Olmedo · domingo, 17 febrero, 2019 a las 15:53

    Buenas Vantgucci,

    Lo desconozco, pero seguro puedes modificar las direcciones de memoria.

    Saludos!!

Roberto · viernes, 18 enero, 2019 a las 09:52

¿Se puede realizar con juegos online? sé que el CheatEngine no, pero el Visual no tengo idea.

    Javier Olmedo · viernes, 18 enero, 2019 a las 10:07

    Si las validaciones no se realizan en el servidor, sí.
    También se pueden interceptar las respuestas del servidor y modificarlas antes de que lleguen a tu cliente de juego.
    Saludos!!

      alexis · martes, 30 abril, 2019 a las 22:58

      Hola amigo!, Podrias contactarte conmigo tambien para decirme como funciona eso ?

Adrian · miércoles, 16 enero, 2019 a las 19:13

Saludos javier, lo puedes hacer tambien para cambiar la cantidad de «Lindens» en Second Life?

    Javier Olmedo · viernes, 18 enero, 2019 a las 10:05

    Buenas Adrian,
    La entrada tiene como finalidad ser un punto de inicio a las personas interesadas en crear sus hacks, intenta crearlo tú y no dudes en postear tus consultas.
    Saludos!!

aldair ponce pazz · lunes, 24 diciembre, 2018 a las 17:50

hola javier quiero q me agas el hak de mutans genetic es de facebbok porfa

    Javier Olmedo · viernes, 4 enero, 2019 a las 22:05

    Hola Aldair,
    En este blog no realizamos hacks para juegos.
    Saludos!!

Alec · sábado, 3 noviembre, 2018 a las 20:00

Hola javier. Una pregunta,¿cuando vas a hacer la explicación de como crear un hack para juegos que cambien su dirección de memoria dinámica?

    Javier Olmedo · martes, 6 noviembre, 2018 a las 10:49

    Buenas Alec,

    No sabría decirte, pero a corto plazo no creo que pueda tenerlo.

    Saludos!!

      Alec · jueves, 15 noviembre, 2018 a las 15:35

      Necesito crear un hack para un juego online que cambia su dirección dinámica cada vez que lo cierro. Como me recomiendas hacerlo?

        Javier Olmedo · viernes, 16 noviembre, 2018 a las 08:30

        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!!

          Alec · viernes, 23 noviembre, 2018 a las 17:56

          Gracias!!

Francisco Javier González Aguirre · viernes, 26 octubre, 2018 a las 20:06

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

    Javier Olmedo · domingo, 28 octubre, 2018 a las 17:04

    Correcto, puedes hacer un fork de mi proyecto y cambiarlo a tu gusto.
    Saludos!!

eduardo · jueves, 11 octubre, 2018 a las 19:51

ola Javier como estas quiero que me hagas un hack del mismo sistema que creaste
lo quiero para el juego war robots steam por favor necesito tu ayuda

hervin · jueves, 30 agosto, 2018 a las 23:26

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.

    Javier Olmedo · sábado, 22 septiembre, 2018 a las 10:13

    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.

Alex · martes, 24 julio, 2018 a las 10:44

Ok Gracias,Javier

Alex · miércoles, 18 julio, 2018 a las 23:10

Hola Javier lo puedes hacer para el juego «Bloddy West»?

    Maru · jueves, 19 julio, 2018 a las 10:54

    Si lo consigue avisarme!! Aunque yo lo necesito para otro bloody, pero no creo que pueda me han dicho que es imposible, aún así avisarme porfa!!!

    Javier Olmedo · martes, 24 julio, 2018 a las 10:14

    Buenas Álex,
    No tengo mucho tiempo para desarrollarlo, pero cualquier cosa te ayudo, ok?
    Saludos!!

      Jeffrey · lunes, 29 julio, 2019 a las 23:44

      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.

        Javier Olmedo · lunes, 29 julio, 2019 a las 23:53

        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