Utilizando un poco de ingeniería inversa, crackie un par de paquetes básicos del juego Zezenia para poder hacer un "bot" y boludear un rato. Dejo un cacho de lo resuelto:
Estructura del paquete login:
1: longitud total del paquete
2: versión del cliente desde el cual nos conectamos
3: longitud de usuario
4: usuario
5: longitud de password
6: password
7: longitud de nombre del personaje
8: nombre del personaje
Cada uno de estos datos es separado por un "00" (en hexadecimal)
un ejemplo:
referencias
<1 > <2 > <3 > <4 > <5 > <6 > <7 > <8 >
texto plano
. . . . . . . 3 5 2 6 3 f f f . . 3 5 2 6 3 f f f . . P a k i t o
Los puntos son caracteres que no se pueden representar como texto plano pero viajan sin ningún problema por TCP/IP.
Se debe mandar todo en hexadecimal (tienen que transformar todos los caracteres).
Ok, con eso ya nos podemos conectar al servidor. Ahora vamos al siguiente paso: dar un paso :P
Estructura del paquete para moverse:
1: codigo '01'
2: direccion (de 04 hasta 07)
Lo que nos quedaría (recordar que el '00' separa datos):
abajo
01 00 04
izquierda
01 00 05
arriba
01 00 06
derecha
01 00 07
Con esto ya podemos conectarnos y caminar desde una consola sin necesidad de ningún cliente. Un poco más de investigación, nos permitiria lograr muchas cosas. Aunque hay un pequeño inconveniente que todavía no pude resolver y por eso perdí el interés de continuar, capas que a alguien le sirve.
Dejo un script hecho en python que utiliza todo lo descripto previamente: