[AYUDA] Entendiendo un MMORPG

Iniciado por DolinaCH, 13 Junio 2011, 01:31 AM

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

DolinaCH

Hola a todos compañeros:

Antes que nada quiero contarles el porque puse un titulo asi, y no algo como "Como hackear un mmorpg" (que seguramente refleje mas mis objetivos de este TH)

Puse "entendiendo" porque mi objetivo principal es que con su ayuda yo pueda entender como es la relacion cliente-servidor y como(con que) se puede intervenir esa relacion.
No pretendo para nada que me digan "con X programa lo haces" ya que refiriendome a una frase habitual, me estarian dando el pescado(como), pero no me enseñarian a pescar.(como aplicarlo a otros programas y que yo piense por mi mismo)

Tambien entiendo que todo lo que pueda aprender aca va a tener que ser profundizado con estudios sobre el tema (ganas de estudiar no me faltan, solo que no se sobre que tengo que estudiar/analizar para lograr mi objetivo) y tambien comprendo que para entender el funcionamiento de un mmorpg me hacen falta estudios previos, los cuales carezco y les pido paciencia.

En fin, les explico:

Hay un MMORPG llamado Helbreath.
Tiene un servidor y para conectarnos a el necesitamos un client.
Dentro del servidor, se encuentran los datos de las cuentas, los objetos del juego, los mapas, los npc etc.

¿Como se llama este tipo de relacion? (de cliente a servidor y viceversa)
¿Como se interviene?
¿Que libros o manuales me recomiendan para entender mas del tema?

¿Que metodos me recomiendan para entrar en el servidor, o simplemente "engañarlo"? (EJ: Yo obtengo 1 punto en el juego, el cliente le manda la señal al servidor, y el servidor envia la confirmacion. ¿Como puedo decirle al servidor que yo obtuve 10 puntos, en vez de 1?)

Mis objetivos son:
Entender este mecanismo
Tener un conocimiento basico de como interferir en el, para luego con experiencias y estudios poder llevarlo a cabo.

Desde ya les agradezco todo tipo de ayuda que me puedan brindar

tragantras

Cita de: DolinaCH en 13 Junio 2011, 01:31 AM

¿Como se llama este tipo de relacion? (de cliente a servidor y viceversa)
¿Como se interviene?
¿Que libros o manuales me recomiendan para entender mas del tema?

¿Que metodos me recomiendan para entrar en el servidor, o simplemente "engañarlo"? (EJ: Yo obtengo 1 punto en el juego, el cliente le manda la señal al servidor, y el servidor envia la confirmacion. ¿Como puedo decirle al servidor que yo obtuve 10 puntos, en vez de 1?)


- Se llama así, precisamente, arquitecture cliente-servidor
- No se trata de un tema en concreto, se necesitan habilidades multi-disciplinares, en primera instancia, conocimientos sobre redes, sniffing, packet crafting, relaying, programación a nivel de sockets, ingeniería inversa sobre el software, altas dosis de paciencia
- NO es tan facil, los servidor tienen un sistema de validación de inputs.


PD: no postees varias veces lo mismo, y mucho menos con cuentas diferentes, johnny deep!
Colaboraciones:
1 2

CloudswX

Weno..

CitarYo obtengo 1 punto en el juego, el cliente le manda la señal al servidor, y el servidor envia la confirmacion. ¿Como puedo decirle al servidor que yo obtuve 10 puntos, en vez de 1?)

Cheat Engine es una herramienta de código abierto diseñado para ayudar con en la modificación de los juegos que se ejecutan sobre Windows, también contiene otras herramientas útiles para ayudar a la depuración de los juegos e incluso las aplicaciones normales.

Viene con un escáner de memoria para explorar rápidamente las variables utilizadas en un juego y permitir cambiarlas, también viene con un depurador, desensamblador, ensamblador, Speedhack, máquina de entrenamiento, herramientas de manipulación directa en 3D, herramientas de inspeccion del sistema.

Es decir, el Cheat Engine es un desensamblador en "tiempo real". Permite acceder a la memoria ocupada por CUALQUIER proceso, no solo la de los juegos.

Muchos de las trampas que encuentras para juegos tan complejos como World Of Warcraft, Dragon Age I y II son hechas con el CheatEngine.

Citar¿Como se interviene?

Intervenirla...el acceso a su base de datos es totalmente posible, es mas lo haces cada vez que juegas, el problema es escribir lo que te de la gana en ella. Por lo general los juegos online "saben" lo que habia en la BD hasta que tu modificas con el Cheat Engine tu memoria, y detectan si se hace algun tipo de modificacion en los segmentos de memoria ocupados por el juego. Ademas correras el riesgo de ser banneado si figura tu actividad en sus logs.

PD: El CheatEngine es una herramienta muy potente, si decides usarla usala con cuidado porque puedes provocar fallos de segmentacion, que podrian llevarte incluso a corromper el sistema.

Mis saludos y respetos "tragantras" como va todo hermano...



«Dios no juega a los dados, usa /dev/random.»
twitter: @cloudswx

tragantras

hola CloudswX! buen aporte, dado que nunca he sido muy "gamer" no conocía el Cheat Engine, aunque si me suena algo de eso de mi época de Lineage 2 jajaja

dudo que la gente que se registra, suelta la pregunta y no vuelva a pasar más, tenga la mínima de intención de aprender a hacer algo... es una pena, pero bueno! aquí estamos los fijos de siempre jajaja

qué proyectos tienes entre manos ahora?
Colaboraciones:
1 2

DolinaCH

El Cheatengine lo conocia, pero no tuve la oportunidad de desarrollarme bien en el, gracias a ambos por su respuesta, ya empeze a leer manuales de protocolo de internet, ire avanzando a medida con el tiempo.

Ahora le doy una segunda oportunidad al CE (CheatEngine) y veo que onda. Gracias, saludos!

CloudswX

Cita de: tragantras en 14 Junio 2011, 22:31 PM
qué proyectos tienes entre manos ahora?

Ahora mismo estoy traduciendo un paper sobre MItM aplicado a claves WPA compartidas (el del tema aquel, recuerdas?) pero con tanto trabajo estoy dedicandole poco tiempo.


«Dios no juega a los dados, usa /dev/random.»
twitter: @cloudswx

.:UND3R:.

Excelente Idea,sería bueno si las personas explican como funcionan en detalle,la gran mayoría conoce sobre el CheatEngine pero ha usos como juegos online (sin considerar juegos flash que no son competencia para este programa), bueno tengo nociones de ingeniería inversa pero no sé de que manera puedo tener acceso crear propios hack, cosas así, bueno si alguien nos ayuda en eso sería genial

WPEPacket,CheatEngine

Saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

CloudswX

#7
Este es un manual muy detallado y de mi autoria de como usar cheat engine,  Aqui les dejo el paper.

Manual basico Cheat engine por CloudswX.

QUE ES CHEAT ENGINE?

Cheat Engine es una herramienta de código abierto diseñado para ayudar con en la modificación de los juegos que se ejecutan sobre Windows, también contiene otras herramientas útiles para ayudar a la depuración de los juegos e incluso las aplicaciones normales.

Viene con un escáner de memoria para explorar rápidamente las variables utilizadas en un juego y permitir cambiarlas, también viene con un depurador, desensamblador, ensamblador, Speedhack, máquina de entrenamiento, herramientas de manipulación directa en 3D, herramientas de inspeccion del sistema.

Es decir, el Cheat Engine es un desensamblador en "tiempo real". Permite acceder a la memoria ocupada por CUALQUIER proceso y modificarla, no solo la de los juegos.

En este paper nos centraremo en la funcion de : Escanear la memoria RAM reservada por un juego y modificarla posteriormente

Muchos de las trampas que encuentras para juegos tan complejos como World Of Warcraft, Dragon Age I y II son hechas con el CheatEngine.



INSTALACION

Obviamente nos bajamos (6.2 MB) el Cheat Engine desde aqui:

http://cheatengine.org/download/CheatEngine61.exe

Pero no solo podemos bajarlo, tenemos la opcion de bajar el codigo fuente por si acaso alguien quiere hacerle unos arreglitos.

Hay que saber que CE no es un virus, ni un spyware, ni nada por el estilo pero al ser un hacking tool los antivirus pueden jodernos la instalacion, por lo que yo recomiendo que desactiven sus antivirus antes de proceder a la instalacion.

No explicare paso a paso la instalacion porque ufffff todos los usuarios de guindows saben eso (doble click, acepto, instalacion tipica, siguiente, siguiente, instalar, etc...) Despues de instalado nos saltara un muy buen manual de como usarlo pero esta en ingles.

USANDO CHEAT ENGINE

Aqui viene la parte interesante del asunto, despues de instalado damos un doble click sobre el icono de nuestro escritorio,  icono que seria muy parecido a este:



Lo cual nos abrira una interfaz grafica con todas las opciones que podremos usar de este maravilloso programa, como dije anteriormente solo me enfocare en el escaneo de memoria para modificar una variable prederminada. Explico a continuacion para que sirve cada boton:


Debido a que estoy haciendo este paper desde mi portatil que solo tiene ubuntu se habran dado cuenta que tengo XP corriendo desde una maquina virtual y es desde hare todo, por tanto esta vez tomaremos como juego de muestra el famoso Pinball de guindows y lo modificaremos para tener una puntuacion altamente ridicula.

Primero abrimos el CE (Abreviaturas de Cheat Engine, para no escribirlo siempre ufff)... dando doble click sobre el icono del escritorio.

Posteriormente buscamos y abrimos normalmente nuestro pinball de guindows, OJO aun no debemos jugar. Una vez tenemos ambos abiertos damos click en el selector de procesos (el que esta señalado con una flechita roja) y seleccionamos el proceso del pinball, se veria algo como esto:



Una vez seleccionado el proceso la pantalla nos quedaria asi:



A continuacion modificaremos el valor de los puntos (Score), pero como saber cual variable modificar? :huh: como nos damos cuenta cual es? Sencillo, como aun no hemos jugado nada nuestro puntaje esta en cero por lo que en la casilla de escanear escribiremos el numero cero 0, y activamos el filtro de buscar valor exacto, para finalmente dar a "first scan", tendriamos algo como esto:



Ustedes diran ufff... 442,342 resultados para este valor en la memoria asignada al proceso pinball.exe, chanfleee... Pues nunca dije que fuera facil asi que paciensia chicos. Ahora jugamos un poco para conseguir algunos puntos..

Bueno mas que conseguir algunos puntos me quede un rato jugandolo.. jejej (es entretenido la verdad...) Ahora que tenemos un nuevo Score buscamos ese valor en CE y tendremos una pantalla como esta:



Ya con un nuevo valor buscamos la direccion de memoria y solo nos saldra una..



La cual modificaremos dandole un doble click a la direccion que nos aparecera y posteriormente un click derecho, asi:



Aquí modificamos el valor...



y listo...  pinball se actualizara tras un rato de que sigamos jugando(no seguí poniendo imágenes porque me llego la hora de irme a trabajar).

P.D Recuerden pausar el juego mientras modificamos la variable en la memoria asignada, recuerden que debemos ser usuarios Administradores para modificar segmentos de memoria.

Saludos.










«Dios no juega a los dados, usa /dev/random.»
twitter: @cloudswx

jim091

noc si sigan ahi ustedes pero me a surgido la misma pregunta de como hacerle para poder cambiar la cantidad de dinero o de puntos en los que se ganan en x juego de mmorpg yo uso la herrameinta cheat engine para juegos flash como los de facebook no tengo ningun problema hago lo que quiero a mi antojo pero cuando me enfrento a un juego mmropg lo maximo que alcanzo a lograr es modificar algo como la velocidad si tengo suerte o la pocision de la camara tambien puedo lograr cambiar colores a mi personaje la vida la experiencia la plata pero tengo un gran problema y es que esas modificaciones solo se reflejan en mi pantpor ejemplo me conecto de dos pc a un x juego mmorpg de dos cuentas diferentes y en una de esas cuentas hago las modificaciones que les digo. el resultado es que cuando veo a esa cuenta que le hice las modificaciones desd la otra cuenta que no le e echo nada no se ve quiero comprender mas como puedo hacer para que eso se vea reglejado no solo en el cliente sino que esa informacion llege al servidor. por lo menos ya tengo los puntos ofset listos ubicados asi que no tengo ya que buscar donde tengo que cambiar x cosa ya que esos juegos como proteccion utiliza muchos puntos depsues del punto de origen.
en fin si algien a avanzado bastante en el tema de como usar cheat engine e forma mas avanzada que me envie un tutorial o algo para aprender mas sobre esto y comprender como funciona esto de servidor cliente gracias

CloudswX

El problema con los juegos Online es que la informacion se guarda en una base de datos externa, es decir.. no es una variable que se almacene en la memoria de TU computador.


«Dios no juega a los dados, usa /dev/random.»
twitter: @cloudswx