=-|================================================-{ www.enye-sec.org }-====| =-[ Te gusta jugar al kmines? ]-=============================================| =-|==========================================================================| =-[ by Pepelux ]-======================-[26/09/2008]-=| ------[ 0.- Indice ] 1.- Que es el KMines? 2.- Por que este doc? 3.- Como ser el numero uno en la tabla de puntuaciones 4.- Fin ------[ 1.- Que es el KMines? ] KMines is el clasico juego del buscaminas con 3 niveles: (facil, normal y experto). Es la version para Linux del juego del buscaminas y lo puedes descargar de http://sourceforge.net/projects/kmines/ pero todas las distribuciones de Linux la llevan en sus repositorios. Por ejemplo, en Debian puedes instalarla asi: # apt-get install kmines ------[ 2.- Por que este doc? ] Si eres un jugador asiduo es posible que te hayas preguntado alguna vez como es posible que algunos usuarios marquen puntuacion en tan solo 1 segundo. Si, yo estuve haciendome la misma pregunta ... por eso decidi usar wireshak y estudiar como funciona el registro de puntuaciones. Realmente hice esto hace un aņo pero lo escribi en un TXT y lo guarde en el portatil. Hoy, haciendo limpieza lo encontre y decidi escribir este doc :) Actualmente, si accedes a la web para ver las puntuaciones: http://kmines.sourceforge.net/highscores.php puedes ver esto (por ejemplo en el nivel facil): Easy level (6765/79751) ------------------------------------------------------------------------------- | Nickname | Best Score | Mean Score |No. of Games | ------------------------------------------------------------------------------ | | Score | Date (GMT) | | | ------------------------------------------------------------------------------ | | | | | | | Pepeluir | 00:01 | 2007-07-10 08:56:39 | 00:19 | 11 | ------------------------------------------------------------------------------- Yeahh! Soy el numero uno! Resuelto en tan solo 1 segundo ------[ 3.- Como ser el numero uno en la tabla de puntuaciones ] Si ejecutas tu sniffer favorito (por ejemplo wireshark) y juegas unas partidas puedes obtener algo similar a esto: GET /submit.php?version=2.1.10&nickname=Pepeluir&key=5cab151363d8251b907a88726a31e05b&level=8x8x10&score=3593&check=d642c4cd85810e53d433632a3191777a HTTP/1.1 User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) (Debian) Accept: text/html, image/jpeg, image/png, text/*, image/*, */* Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5 Accept-Language: es, en Host: kmines.sourceforge.net Cookie: __utma=191645736.1336187869.1161772788.1161772788.1161772788.1 Connection: Keep-Alive GET /submit.php?version=2.1.10&nickname=Pepeluir&key=5cab151363d8251b907a88726a31e05b&level=8x8x10&score=3587&check=cdf2a8927d2a3be51777a96d05c36c71 HTTP/1.1 User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) (Debian) Accept: text/html, image/jpeg, image/png, text/*, image/*, */* Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5 Accept-Language: es, en Host: kmines.sourceforge.net Cookie: __utma=191645736.1336187869.1161772788.1161772788.1161772788.1 Connection: Keep-Alive Haciendo algunas pruebas y jugando un monton de partidas al KMines :) obtuve: -= nickname=Pepeluir =- Esto es evidente :) -= key=5cab151363d8251b907a88726a31e05b =- El identificador de usuario -= level=8x8x10 =- El tipo de juego al que has jugado: 8x8x10 - facil 16x16x40 - normal 30x16x99 - experto -= score=3587 =- Define tu puntuacion en este juego. Estudiando algunos GETs, viendo las puntuaciones, bebiendo algunos cafes y pensando un poco, pude deducir que: 3587 = 00:13 3580 = 00:20 3579 = 00:21 3534 = 01:06 3527 = 01:13 ............ 3600 = 00:00 3599 = 00:01 -= check=cdf2a8927d2a3be51777a96d05c36c71 =- Esto es el una verificacion: check = nickname + score Por ejemplo, en este caso: Pepeluir3587 in MD5 = cdf2a8927d2a3be51777a96d05c36c71 Ok. Ya estamos listos para construir nuestro propio paquete y mandarlo por telnet, por ejemplo :) pepelux$ telnet 66.35.250.209 80 GET /submit.php?version=2.1.10&nickname=Pepeluir&key=5cab151363d8251b907a88726a31e05b&level=30x16x99&score=3599&check=6500e79db3dce2abb68691179767a534 HTTP/1.1 User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) (Debian) Accept: text/html, image/jpeg, image/png, text/*, image/*, */* Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5 Accept-Language: es, en Host: kmines.sourceforge.net Cookie: __utma=191645736.1336187869.1161772788.1161772788.1161772788.1 Connection: Keep-Alive Y ... Ya soy el numero 1 ------[ 4.Fin ] Supongo que si descargas el codigo fuente de sourceforge.net puedes estudiar el formato, pero creo que es mas divertido con un sniffer y pensando un poco, no? Saludos!!! Pepelux http://www.enye-sec.org