PDA

Ver la versión completa : Debugging a process



Rocoghost
08-04-2010, 07:24
Hola a todos.
Resulta que se me ocurriò tratar de debuggear un juego.(aclaro que es un juego online pero instalado en mi PC) Les explico la razòn.

Mi objetivo es tratar de conseguir la informaciòn del mercado en este juego para no tener que chequearla por mi mismo. Es decir el nombre del item el precio y la cantidad, la cual pueda ser comparada con una pequeña base de datos ya antes echa por mi en la que defino que es un precio bajo y uno alto, asi de esta forma pues me alertaría cuando hay cierto item a un precio bajo para asi yo comprarlo.

El problema es que el juego esta en mi PC pero los datos de este estan en el servidor,(este juego solo se puede jugar online, loggeandose con un usuario y una contraseña) .Osea que no puedo tomar los datos de ningun archivo en mi PC, solo se cargan en memoria cuando el juego le hace el pedido de la informaciòn al server.

¿Alguien tiene idea de como se envian y se reciben estos datos?
Cualquier idea serà grandemenete agradecida, mi mas puro interes es aprender ha hacerlo.

Marchi
09-04-2010, 04:05
Que te permite decir que el juego está en tu PC? Tenés algún ejecutable al que llamás para entrar a él?

En este caso tendrías que ubicar los procesos creados al llamar al ejecutable.

El envio/recibo de datos, suponiendo lo anterior, muy probablemente se maneje mediante sockets en algún puerto particular. Podrías buscar que puertos tenés abiertos al mismo tiempo que funciona el juego, y luego interceptar los paquetes.

De todas maneras, es una tarea que necesita de mucho trabajo.


Saludos

Rocoghost
09-04-2010, 06:22
Gracias por responderme Marchi, se aprecia cualquier ayuda.

Pues sì, yo se que lleva mucho trabajo, pero estoy seguro que serà muy gratifacante recibir los resultados. En cuanto al ejecutable te dirè que sì està en la PC, es una instalaciòn de alrededor de 9GB, y por supuesto el ejecutable esta en la PC, mediante el cual ejecuto el juego, el cual me pide nombre de usuario y contraseña además de un còdigo de esos tipo captcha, el juego es Atalntica Online.

Aquì una breve descripciòn de como se inicia.

Al ejecutar el .exe
1--Se conecta al puerto 5300 en el server.(en mi PC varìa cada vez que inicio)
Ahora carga parte del juego, revisa si estan instalados los parches etc y se cierra la conexiòn.

Aparece el botòn Start y me pide usuario y contraseña
2--Se abre la conexiòn en el puerto 5309 del Server.(Dice solicitando bla bla bla)

3--Se abre la conexiòn en el puerto 4300 del Server.(Me pide que introduzca el còdigo captcha)
4--Se cierra la conexiòn en el puerto 5309 del Server.(Se mantiene la conexiòn por el puerto 4300 del Server durante todo el juego)

En mi computadora claro està el puerto cambia cada vez que loggeo en el juego y se mantiene hasta que hago log off.
Un amigo me recomendò usar WPE Pro, pero no funciona, lo ejecuto cargo el proceso .exe del juego pero no encuentra ningùn paquete.

¿Alguna recomendaciòn? Este asunto me llama cada vez mas la atenciòn, es una sed de aprender como funcionan estas conexiones je je.

Por cierto, aclaro exactamente lo que quiero hacer, en el juego es imposible chequear mas de un item al mismo tiempo(razòn por la cual estoy haciendo todo esto--son mas de 1000 items je je) o sea que primeramente tendrìa que interceptar el paquete para saber el codigo o nùmero por el que se identifica cierto item, luego de obtener todos los valores para los items que yo necesito, tendrìa que hacer algo como un puente entre el server y mi PC para asì editar el paquete y pedirle al server varios items al mismo tiempo. (Esto solo lo supongo, nunca he hecho algo como esto)

Rocoghost
09-04-2010, 08:05
Bueno, ya voy avanzando, use el Wireshark y pude ver los paquetes, ademas los filtrè por la IP del server, ahora el problema es que no se cual de estos contiene la informaciòn del mercado.¿Alguna pista?¿Como se abren estos?

j8k6f4v9j
09-04-2010, 17:24
Puedes ver conversaciones enteras escogiendo "Follow TCP stream" sobre los paquetes.

También puedes buscar en todos ellos algún contenido "Edit >> Find packet" o Ctrl+F


Salu2