tag:blogger.com,1999:blog-22416672252298097372009-03-02T07:59:40.435+01:00Geek PuzzlePonte a pruebaGeek Puzzlenoreply@blogger.comBlogger51125tag:blogger.com,1999:blog-2241667225229809737.post-31870403971748720602009-02-25T09:50:00.002+01:002009-02-25T11:57:51.348+01:00Geek Puzzle II: Solución Reto 0x03, Hidden Data<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">La prueba proporciona la siguiente información.<br /><br />1. Un fichero formado por un texto separado claramente por 3 segmentos de texto<br /><br />0#OmAyyumvdbynutgjwumjgvgogbdzgmallupkdabyubgbkuyngyjgvbuhumtclnyupewgvoctukdtpvkgbywg.....<br />1#FaSjjnahmqjindpxenaxphpfpqmcpasrrnlzmsqjnqpqznjipjxphqnwnadtrijnluephftdnzmdlhzp....<br />2#MjXwwrjsyvworqzeprjezszmzvyizjxttrcnyxvwrvzvnrwoz....<br /><br />2. Una cadena a desencriptar 30#LAMKBZZREUQVEUGMILWMCMWHZZNZLHLNLHEG.<br />3. Una pista, Think in english<br /><br />Tanto por los datos de entrada como por la pista, podemos deducir que se trata de una clarísima prueba de criptografía.<br /><br /></span></span><span style="font-weight:bold;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Comienza el análisis de los datos.</span></span></span><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /><br /></span></span><div><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">1. Las tres secciones, 0,1, y 2, tienen exactamente el mismo número de caracteres.</span></span></div><div><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">2. El juego de caracteres se encuentra comprendido entre los imprimibles en las 3 secciones.</span></span></div><div><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">3. Analizando la relación entre los 3 mensajes encontramos que para los mismos caracteres siempre existe la misma equivalencia<br /><br /> 0#O m A y y<br /> 1#F a S j j<br /> 2#M j X w w</span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Tras este ligero análisis podemos deducir que nos encontramos ante un cifrado clásico, con 3 alfabetos del mismo mensaje.</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><span class="Apple-style-span" style="font-weight: bold;">Procedemos a la búsqueda del algoritmo</span> de encriptación para el primer mensaje, el 0.</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Usando la herramienta </span></span><a href="http://www.cryptool.com/"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">cryptool</span></span></a><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> copiamos el texto correspondiente a la sección 0 y probamos el criptoanálisis de los algoritmos más frecuentes, entre ellos, el algoritmo de sustitución, al aplicar el critoanálisis obtenemos el siguiente texto. </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> MrUttersonthelapyerpasamanofaruggedcountenancethatpasneverlightedb</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> yasmilecoldscantyandembarrassedindiscoursebackpardinsentimentleanl</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> ongdustydrearyandyetsomehoplovableAtfriendlymeetingsandphenthepine</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> pastohistastesomethingeminentlyhumanbeaconedfromhiseyesomethingind</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> eedphichneverfounditspayintohistalkbutphichswokenotonlyinthesesile...</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">El alfabeto de sustitución que nos propone es GEKPUZLNCRITOBDJQMVYAHFSWX </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Una búsqueda en google nos indicará que el texto que estamos analizando es el primer capítulo de Dr. Jekyll and Mr Hide. </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Ajustamos un poco las letras al texto original y encontramos el alfabeto correspondiente al primer texto.</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Realizamos la misma operación con el resto de secciones. </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">0 --> GEKPUZLNCRITOBDFQMVYAHJSWX <br />1 --> PUZLNCRITOBDFQMVYAHJSWXGEK<br />2 --> ZLNCRITOBDFQMVYAHJSWXGEKPU </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Analizando un poco esta salida, observamos un desplazamiento en las letras, podemos generar todos los posibles alfabetos aplicando un cifrado cesar, o calcular el desplazamiento 3,5,7 es decir 0,(2^n) + 1. </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';">Generamos el alfabeto correspondiente al 30#BDFQMVYAHJSWXGEKPUZLNCRITO y bingo, ya tenemos la clave.</span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> </span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"><br /></span></span></span></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> </span></span></span></div><div><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family: 'courier new';"> <br /><br /></span></span><br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-3187040397174872060?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-68299647691593398332009-02-25T00:49:00.007+01:002009-02-25T01:17:50.499+01:00Geek Puzzle II: Solución Reto 0x05<p>Aparece una página donde sólo aparece la palabra "Slot Machine" y<br />un botón "Go". Al pinchar se sustituye por la frase "Insert Coin".<br /><br />Viendo el código fuente rapidamente advertimos la presencia de un parámetro oculto:</p><pre><input type="hidden" name="credits" value="0" /><br /></pre><br /><p>Alterando el valor a un numero entero mayor de 0 mediante, por ejemplo, un proxy local o mismamente un plugin de firefox (Web Developer) y pulsando en "Go" nos aparece una tabla emulando una máquina tragaperras, con imágenes de 3 frutas.</p><p>Si pulsamos varias veces podemos observar la aletoriedad de aparición de estas frutas, contabilizando un total de 6 tipos de frutas diferentes.</p><p>También aparece un mensaje: <strong>"Try Again" Matches: 0</strong><br /></p><p>El código fuente muestra como única cosa reseñable que la tabla donde se pintan las frutas es de 3 columnas x 2 filas y la segunda fila está vacía. Evidentemente, algo más tiene que haber.<br />Ya que no se hacen referencias a parámetros y toda entrada en el campo "hidden" que no sea un número no deja realizar la "tirada" podemos pensar que hay cookies involucradas.</p><p>Si intentamos ver las cookies lo más probable es que no veamos ninguna, salvo que hayamos sido extremadamente rápidos o, más lógicamente, hayamos interceptado el tráfico mediante, por ejemplo, un proxy local.<br /><br />Comprobamos que efectivamente hay<strong> 3 cookies</strong> (slot1, slot2, slot3) pero que expiran en tan sólo <strong>2 segundos</strong>.<br /><br />Los valores de las cookies son una ristra de números (cGluZWFwcGxl).<br />Si continuamos la ejecución con estos valores en las cookies (evitando que expiren) vemos que en la segunda fila de la tabla aparece la palabra "pineapple" en cada celda.<br /><br />Podemos comprobar que "pineapple" es la codificación en base64 de "cGluZWFwcGxl".<br /><br />Si alteramos el contenido de las cookies observamos que se muestra en las celdas el resultado de codificar en base64 dicho contenido.<br /><br />Está claro que hay que conseguir incrementar los "matches" de alguna manera relacionado con esto. Cada casilla con frutas tiene en el campo 'alt' de su imagen el nombre de dicha fruta en texto claro.<br /><br />Si hacemos que aparezca en las casillas de abajo el mismo texto que en las de arriba (como ya hemos dicho, poniendo en las cookies el valor "descodificado" en base64) y tenemos la suerte de que coincide la fruta de una casilla con el texto de la casilla de abajo veremos que el contador de "matches" se incrementa.<br /><br />Ya queda claro que hay que hacer coincidir las tres casillas. El problema es que la aparición de las frutas es totalmente aleatoria, ya que no se puede observar patrón alguno.</p><p>Tenemos 6 frutas diferentes. Puesto que aparecen en grupos de 3 y admiten repeticiones tenemos unas <strong>Variaciones Con Repetición de 6 elementos tomados de 3 en 3</strong>, es decir 6^3=216 combinaciones posibles en cada tirada.<br /><br />Confiar en la suerte es mucho pedir (aunque no es imposible) pero lo suyo es programarse algo para resolver el problema.<br /><br />En este punto hay muchas opciones posibles de resolución.<br />Se puede crear un pequeño programa o script que abra un socket contra la página de las frutas, enviando "a mano" las cabeceras, los parámetros por POST y las cookies con una combinación de frutas fija (ojo con el Content-lenght de las cabeceras).<br /><br />Este script almacenará la respuesta del servidor, por ejemplo, en un archivo de texto. Si hacemos las suficientes peticiones acabaremos por "acertar" la combinación, momento en que se gana el jackpot y aparece la clave: Sl0TzMach1neZ.<br /><br />Se pueden pedir un número razonable de conexiones (teniendo en cuenta que hay 216 posibilidades, podríamos probar con grupos de 1000) y analizar el archivo, donde, si hemos acertado, aparecería una respuesta distinta con la clave. Otra opción sería hacer peticiones y analizar la línea en donde pinta el número de matches hasta que tenga valor distinto de <strong>"Try Again" Matches: 0</strong>, <strong>"Try Again" Matches: 1 </strong>o<strong> "Try Again" Matches: 2</strong>. Como digo, posibilidades hay muchas...</p><p>Enhorabuena a los que superaron el reto y a los que no, espero que esto os despeje todas vuestras dudas. </p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-6829964769159339833?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-33510766074140244272009-02-09T13:03:00.001+01:002009-02-09T13:05:17.985+01:00Geek Puzzle II: Solucion Reto 0x04Seguimos publicando soluciones a las retos de Geek Puzzle II.<br />En esta ocasión le toca al <a href="http://futur3.com/?p=100">reto 0x04</a>, nombre clave Fast-Track ;)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-3351076607414024427?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-5793264848402189192009-02-05T13:32:00.002+01:002009-02-05T13:34:42.408+01:00Geek Puzzle II: Solucion Reto 0x02Ya tenéis disponible mi <a href="http://futur3.com/?p=98">solucionario </a>para el reto 0x02.<br /><br />Tenéis a vuestra disposición los comentarios para cualquier tema que queráis que tratemos con respecto a este reto.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-579326484840218919?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-37893295495475481712008-12-22T18:15:00.002+01:002008-12-22T18:23:48.510+01:00Geek Puzzle II: FINALIZADOHoy damos por finalizada oficial y definitivamente esta segunda edición de Geek Puzzle. Muchas gracias a todos por participar y por los comentarios que nos habéis hecho llegar hasta el momento.<br /><br />Por supuesto, en este post merecen mención especial nuestros jugadores más activos: Kachakil, Metalamin y Juanan P.<br /><br />Felicidades a <span style="font-weight: bold;">Kachakil </span>por quedar en primer lugar, habiendo resuelto todos los retos en el menor tiempo. Por lo que nos ha dicho ya ha recibido nuestro<span style="font-style: italic;"> kit de plantas carnivoras</span>, y ha prometido que nos enviará una foto para que se conviertan en las <span style="font-style: italic;">mascotas oficiales de Geek Puzzle III</span> dentro de unos meses :)<br /><br /><span style="font-weight: bold;">Metalamin</span>, ha quedado en segundo lugar, habiendo resuelto todos los retos tambien, aunque habiendo invertido algo más de tiempo que Kachakil. Su premio es el <span style="font-style: italic;">mensaje al espacio</span> - por cierto, mándanos el mensaje que aún lo tienes pendiente - ;)<br /><br />Mención honorífica a <span style="font-weight: bold;">Juanan P.</span> quien obtiene un muy merecido tercer puesto en nuestro ranking. Parece que el último reto se le atragantó un poco :)<br /><br />En breve, entre turrón y polvorón, iremos publicando nuestras propuestas de resolución de los retos a lo largo de las próximas semanas.<br /><br />Os animamos a que participéis con algún reto de vuestra propia cosecha para la próxima edición de Geek Puzzle. Ya la estamos preparando... así que animaos a diseñar alguna prueba junto a nosotros.<br /><br />Esperamos vuestro feedback respecto a esta edición, para ir mejorando lo que no os haya gustado de cara a las próximas.<br /><br />Muchas gracias a todos de parte del <span style="font-weight: bold; font-style: italic;">Geek Puzzle Team</span> y... ¡Feliz Navidad! :)<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-3789329549547548171?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com4tag:blogger.com,1999:blog-2241667225229809737.post-91187067420718045622008-12-17T10:00:00.002+01:002008-12-17T10:05:28.843+01:00El 2º puesto ya ha sido concedidoParece que el llamamiento de ayer ha sido efectivo :)<br /><br />Metalamin nos ha remitido la solución al reto 0x07 a las 2:42 GMT+1 con lo que consigue, de forma definitiva, el 2º puesto en esta edición de Geek Puzzle. Felicidades! :)<br /><br />Como comentábamos ayer, Kachakil cede el <a href="http://www.diseloalasestrellas.com/">mensaje al espacio</a> a Metalamin, que ha resuelto el último reto dentro de la última semana de concurso.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-9118706742071804562?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com7tag:blogger.com,1999:blog-2241667225229809737.post-20496073218983792032008-12-16T14:55:00.002+01:002008-12-16T15:04:22.138+01:00Premio para el 2º puestoComo ya sabéis, en esta 2ª edición de Geek Puzzle que está a punto de concluir oficialmente teniamos dos premios para el ganador:<br /><ul><li>Un kit de cultivo de <a href="http://plantacionescarnivoras.com/plantas_carnivoras.htm">plantas carnívoras</a> cortesía de <a href="http://www.plantacionescarnivoras.com/">www.plantacionescarnivoras.com</a></li></ul><ul><li>Un envío real de mensaje al espacio, con su certificado de envío incluyendo el texto enviado y un juego de tarjetas de diseño con información sorprendente sobre ls estrellas, cortesía de <a href="http://diseloalasestrellas.com/">http://diseloalasestrellas.com</a></li></ul>El ganador de esta edición ya sabemos que es Daniel Kachakil, ya que es quien ha resuelto todos los retos, puntuando el máximo de puntuación en cada uno de ellos, e invirtiendo el menor tiempo en su resolución.<br /><br />Ahora bien, Dani nos ha comentado que cede el mensaje al espacio a quien quede en 2ª lugar, con una condición: <span style="font-size:130%;"><span style="font-weight: bold; font-style: italic;">deberá resuelver el último reto antes del próximo lunes a las 00:00 GMT+1, momento en el que dará por concluido oficialmente el concurso.</span></span><br /><br />Optan a este segundo puesto tanto Metalamin como Juanan P. quienes por puntuación tienen posibilidades de quedar en segundo lugar, aunque para obtener el premio deberán resolver el <a href="http://blog.geekpuzzle.org/2008/12/reto-0x07-barcode-privacy.html">reto 0x07</a>.<br /><br /><span style="font-style: italic;">¿Quién lo conseguirá?... el tiempo corre... ya solo quedan 5 días ;)</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-2049607321898379203?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-7602505820155402592008-12-15T10:44:00.003+01:002008-12-15T10:56:53.751+01:00Última semana de resoluciónHola a todos, <br /><br />Hoy a las 00:00 GMT+1 se ha dado por finalizada la posibilidad de puntuar al máximo la última prueba, "BarCode Privacy", la cual, ha tenido de momento un solo acertante, Kachakil, el cual ha puntuado el máximo en todas las pruebas, lo que le convierte oficialmente en el ganador del concurso GeekPuzzle Segunda Edición, ¡¡¡Felicidades Kachakil!!!<br /><br />Dentro de esta semana todavía podéis puntuar la mitad de la prueba, 2 puntos, se dará de plazo hasta el próximo Lunes 22 a las 00:00 GMT+1, ya hemos publicado una pista, animo al resto de participantes, no os quedéis con las ganas de resolver el acertijo.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-760250582015540259?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-15089665502732668002008-12-07T23:59:00.001+01:002008-12-08T00:03:44.949+01:00Reto 0x07 - Barcode Privacy<img title="Nivel: 4" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/4_5.jpg"><br /><ul><li>Puntuación dentro de la semana de publicación = 4</li><li>Puntuación fuera de la semana de publicación = 2</li></ul><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0207-barcode_privacy/main.html" frameborder="0" height="300" scrolling="no" width="370"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-1508966550273266800?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com10tag:blogger.com,1999:blog-2241667225229809737.post-31488927922952014042008-11-30T21:02:00.004+01:002008-12-01T00:23:08.161+01:00Prueba 0x06 "Oldschool Protocol"<img title="Nivel: 3" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/3_5.jpg" /><br /><ul><li>Puntuación dentro de la semana de publicación = 3</li><li>Puntuación fuera de la semana de publicación = 1.5</li></ul><br /><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0206-oldschoolprotocol/main.html" scrolling="no" width="370" frameborder="0" height="300"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-3148892792295201404?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com7tag:blogger.com,1999:blog-2241667225229809737.post-64571761750592212372008-11-24T00:00:00.001+01:002008-11-24T00:00:20.113+01:00Prueba 0x05 "Fruit Machine"<img title="Nivel: 3" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/3_5.jpg" /><br /><ul><li>Puntuación dentro de la semana de publicación = 3</li><li>Puntuación fuera de la semana de publicación = 1.5</li></ul><br /><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0205-fruit_machine/main.html" scrolling="no" width="370" frameborder="0" height="300"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-6457176175059221237?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com4tag:blogger.com,1999:blog-2241667225229809737.post-55948899614442443642008-11-16T23:55:00.007+01:002008-11-17T00:16:54.691+01:00Prueba 0x04: "FastTrack"<img title="Nivel: Hacker" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/4_5.jpg" /><br /><ul><li>Puntuación dentro de la semana de publicación = 4</li><li>Puntuación fuera de la semana de publicación = 2</li></ul><br /><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0204-fasttrack/main.html" scrolling="no" width="370" frameborder="0" height="200"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-5594889961444244364?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com16tag:blogger.com,1999:blog-2241667225229809737.post-34174683709729069562008-11-09T01:08:00.005+01:002008-11-10T00:01:13.965+01:00Prueba 0x03: "Hidden Data"<img title="Nivel: Listillo" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/2_5.jpg" /><br /><ul><li>Puntuación dentro de la semana de publicación = 2<br /></li><li>Puntuación fuera de la semana de publicación = 1<br /></li></ul><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0203-hiddendata/main.html" frameborder="0" height="200" scrolling="no" width="380"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-3417468370972906956?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-66416793546060404252008-11-03T07:40:00.002+01:002008-11-03T07:40:00.676+01:00Prueba 0x02: "Virtual Crackable Network"<img title="Nivel: Listillo" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/2_5.jpg" /><br /><ul><li>Puntuación dentro de la semana de publicación = 2<br /></li><li>Puntuación fuera de la semana de publicación = 1<br /></li></ul><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0202-virtual_crackable_network/main.html" frameborder="0" height="200" scrolling="no" width="370">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-6641679354606040425?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-71084850755704933862008-10-28T07:32:00.004+01:002008-10-28T07:37:02.696+01:00Pista para el reto "Chess Master"<pre>Aquí tenéis una pista para aquellos de vosotros que aún no habéis<br />resuelto el <span style="font-weight: bold;">reto 0x00 "Chess Master"</span>. Como ya sabéis, una vez ha<br />pasado la semana de publicación de una prueba su puntuación pasa a<br />la mitad, pero sigue contabilizando, así que no desaniméis y a por<br />ella. Aquí tenéis la pista:<br /><br /><blockquote style="font-style: italic;">Lo que la imagen oculta no es un PNG sino la clave, el movimiento<br />que lleva a la victoria.</blockquote><br /></pre><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-7108485075570493386?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com2tag:blogger.com,1999:blog-2241667225229809737.post-70656692361867957252008-10-26T17:33:00.003+01:002008-10-26T23:40:32.860+01:00Prueba 0x01: "Runtime exception"<img title="Nivel: Listillo" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/1_5.jpg" /><br /><ul><li>Puntuación dentro de la semana de publicación = 1<br /></li><li>Puntuación fuera de la semana de publicación = 0.5<br /></li></ul><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0201-runtimeexception/main.html" scrolling="no" width="370" frameborder="0" height="200">&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;</iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-7065669236186795725?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-22995023187318047342008-10-26T12:05:00.002+01:002008-10-26T12:30:56.900+01:00Puntuaciones y dificultad<p>Las pruebas vendrán acompañadas de un indicador de dificultad que puede oscilar entre 1 y 5.<br />La puntuación que se obtiene al resolver una prueba es directamente proporcional a su dificultad, de tal modo que se suma 1 punto por nivel de dificultad.<br />Si la solución se entrega fuera de la semana de publicación de la prueba sólo se obtiene el 50% de la puntuación. Es decir: </p><p><span style="font-family:arial;font-size:85%;">Dificultad: 1 --> Puntuación: 1 --> Fuera de plazo: 0.5<br />Dificultad: 2 --> Puntuación: 2 --> Fuera de plazo: 1<br />Dificultad: 3 --> Puntuación: 3 --> Fuera de plazo: 1.5<br />Dificultad: 4 --> Puntuación: 4 --> Fuera de plazo: 2<br />Dificultad: 5 --> Puntuación: 5 --> Fuera de plazo: 2.5</span><br /><span><br />Si se diese un empate, se proclamaría ganador el participante que menos tiempo global ha necesitado para resolver las pruebas.<br /></span></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-2299502318731804734?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-74213746978017916812008-10-21T11:39:00.002+02:002008-10-21T12:09:45.329+02:00Ayuda a nuevos participantesHola a todos, <div><br /></div><div>Hemos recibido varios correos tras la publicación de la primera prueba preguntándonos cual es el objetivo de cada prueba, vamos a intentar explicarlo un poco.</div><div><br /></div><div>La idea de todos los retos es, encontrar la clave oculta, esto es, todos los retos tienen como resultado un texto de n caracteres y sin formato concreto. Para verificar si el texto que has obtenido es la respuesta correcta, cada prueba tiene una caja de texto que te permite verificar si has acertado, en cuyo caso, mandas un correo a contact@geekpuzzle.org y nos dices que has encontrado la respuesta.</div><div><br /></div><div>Este concurso, es de retos técnicos, es decir, que todas las pruebas tienen uno o varios componentes técnicos que son la clave para solucionar el reto.</div><div><br /></div><div>Pongamos un ejemplo sencillo, suponed un fichero reto.zip, al intentar abrirlo, os pide una clave, con un diccionario y una herramienta de ataque por fuerza bruta, probamos todas las posibilidades, nos da una clave y descomprimimos el zip, en su interior hay un fichero clave.txt cuyo contenido es "la clave del reto es: g33kb0y", introducimos g33kb0y en el formulario y nos dirá algo del estilo "Respuesta correcta".</div><div><br /></div><div>Espero que con esta información tengáis más o menos claro cual es el objetivo de cada reto.</div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-7421374697801791681?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-15671198520444843172008-10-20T12:38:00.002+02:002008-10-20T12:51:38.222+02:00Recordatorio de normas básicasCon el concurso ya en marcha desde hace unas horas os recordamos las normas básicas que debéis cumplir para participar. Son las mismas normas que aplicaron en la primera edición de <span style="font-weight: bold;">Geek Puzzle</span> y que podéis ver en el <a href="http://blog.geekpuzzle.org/2008/04/faq.html">FAQ</a>. En cualquier caso, recordaros algunos puntos importantes:<br /><br /><ul><li>Os podéis apuntar en cualquier momento al concurso, aunque ya esté comenzado.</li></ul><ul><li>Para que se os contabilice una respuesta acertada deberéis enviarnos por E-Mail a nuestra dirección de <span style="font-style: italic;">contact [at] geekpuzzle.org</span> la clave del nivel y una explicación de cómo lo habéis resuelto. No vale simplemente con enviar la clave, si no enviáis el procedimiento de resolución que habéis seguido no se os contará.</li></ul><ul><li>La publicación de los retos se hacen los lunes a las 00:00 GMT+2. Uno por semana, hasta un total de 8 retos. Durante la semana de publicación, la resolución del reto da el 100% de la puntuación. Pasada la semana de publicación, la resolución del reto aportará únicamente el 50% de la puntuación. ¡La velocidad resolviendo los retos tambien cuenta!.</li></ul><ul><li>Se publicarán pistas en los comentarios asociados al post del reto. Las pistas siempre se darán pasada la semana de publicación, no antes.</li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-1567119852044484317?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-82503734736305677342008-10-17T11:07:00.005+02:002008-10-25T11:21:10.620+02:00Prueba 0x00: "Chess Master"Comenzamos esta segunda edición de <span style="font-weight: bold;">Geek Puzzle</span> con una prueba que ha diseñado nuestro ganador de la anterior edición, <span style="font-weight: bold;">Victor Arambulo</span>, quien se ha animado a colaborar con nosotros en esta edición.<br /><br />Como reconocimiento a su trabajo hemos pensado que sería buena idea estrenar <span style="font-weight: bold;">Geek Puzzle II</span> con su reto "<span style="font-style: italic;">Chess Master</span>" , además de inaugurar nuestra <a href="http://blog.geekpuzzle.org/2007/10/colaboradores.html">sección de colaboradores</a> con un pequeño texto que él mismo nos ha remitido para que le conozcáis algo mejor.<br /><br /><span style="font-style: italic;">Aprovechamos para recordaros que el espíritu de este proyecto es divertirnos, aprender, compartir retos que mantengan entretenidas nuestras inquietas mentes... y que por tanto si os animáis a colaborar con nosotros pensando y diseñando retos para el resto de Geeks, ¡todos os lo agrdaceremos!</span> :)<br /><br />Y qué más decir, excepto... <span style="font-weight: bold; font-style: italic;">¡QUE EMPIECEN LOS JUEGOS!</span> ;)<br /><p></p><br /><hr /><br /><br /><img title="Nivel: Listillo" style="border: 0px none ;" src="http://www.techclot.es/geekpuzzle/imagenes/1_5.jpg" /><br /><p></p><ul><li>Puntuación dentro de la semana de publicación = 1<br /></li><li>Puntuación fuera de la semana de publicación = 0.5<br /></li></ul><iframe src="http://www.techclot.es/geekpuzzle/geekpuzzle0200-chessmaster/main.html" frameborder="0" height="200" scrolling="no" width="370"></iframe><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-8250373473630567734?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com2tag:blogger.com,1999:blog-2241667225229809737.post-89260354648426436972008-10-07T21:59:00.003+02:002008-10-07T22:02:36.510+02:00GeekPuzzle en TwitterComo novedad en esta segunda edición tenemos que <span style="font-weight: bold;">Geek Puzzle</span> tendrá presencia en <a href="http://twitter.com">Twitter</a>. De esta forma podréis manteneros informados de cuándo se publica un nuevo reto, pistas, etc. haceros <span style="font-style: italic;">follower</span> de <a href="http://twitter.com/GeekPuzzle/">nuestra cuenta </a>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-8926035464842643697?l=blog.geekpuzzle.org'/></div>FuTuR3noreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-59173681722413820382008-10-06T22:31:00.003+02:002008-10-09T22:31:11.362+02:00Premios para GeekPuzzle IIYa podemos anunciar oficialmente los premios para el ganador de la segunda edición de GeekPuzzle.<br /><br />Como no podía ser de otra forma, son premios muy <span style="font-style: italic;">geeks</span>:<br /><ul><br /><li>Un kit de cultivo de <a href="http://plantacionescarnivoras.com/plantas_carnivoras.htm">plantas carnívoras</a> cortesía de <a href="http://www.plantacionescarnivoras.com/">www.plantacionescarnivoras.com</a></li><li>Un envío real de mensaje al espacio, con su certificado de envío incluyendo el texto enviado y un juego de tarjetas de diseño con información sorprendente sobre ls estrellas, cortesía de <a href="http://diseloalasestrellas.com/">http://diseloalasestrellas.com<br /></a></li><br /></ul><br />Y a esto hay que sumarle la satisfacción personal y el respeto de la comunidad, que no es poco :)<br /><br />¡Suerte!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-5917368172241382038?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-60946225693083605772008-10-01T18:24:00.004+02:002008-10-07T22:56:11.891+02:00GPII: Nueva edición del concurso GeekPuzzleTras la grata experiencia del primer concurso "GeekPuzzle" hemos decidido montar otra edición llena de nuevos desafíos.<br /><br />El concurso consiste en la publicación de diferentes retos de carácter técnico, donde tu inteligencia y conocimiento informático serán puestos a prueba.<br /><br />Como <a href="http://blog.geekpuzzle.org/2008/04/presentacin.html">ya se explicó</a> en la primera edición, nuestra motivación principal es la de continuar aprendiendo, bien sea estudiando a fondo la tecnología sobre la que desarrollamos las pruebas o bien con las soluciones que enviéis, que pueden mostrarnos nuevos caminos que no habíamos contemplado.<br /><br />Las pruebas serán de naturaleza muy diversa: redes, seguridad, programación, ingenio, etc. Tendrás que ampliar el horizonte de tus conocimientos para resolver todas las pruebas, pero ¿no es el conocimiento la mayor aspiración de un verdadero Geek? ;-)<br /><br />El concurso dará comienzo el <strike>miércoles 8 de octubre</strike> <strong>lunes 13 de octubre</strong> a las 00:00h.<br /><br />Las bases del concurso y su mecánica serán publicadas en breve.<br />Esperamos tu participación<br /><br />Grupo GeekPuzzle.org<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-6094622569308360577?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com1tag:blogger.com,1999:blog-2241667225229809737.post-14190375686335276802008-07-18T08:58:00.003+02:002008-07-18T09:12:31.728+02:00Ayúdanos a mejorar!!Buenas a todos,<br /><br />Una vez publicadas todas las respuestas hacemos un llamamiento a todos aquellos que de una forma u otra habéis participado en las diferentes pruebas. <span style="font-weight: bold; font-style: italic;">RFC</span><span style="font-style: italic;"> </span><span style="font-weight: bold; font-style: italic;">ABIERTO</span>.<br /><br />Si una prueba os ha parecido poco clara o si no entendéis alguna de las partes de la respuesta este es el momento ideal para decirlo.<br /><br />Utilizad la respuesta de cada prueba para comentar sobre ella y este mismo post si queréis hacer comentarios generales sobre el concurso, puntuaciones, modos de juego, tiempos de resolución.<br /><br />En un futuro no demasiado lejano, o eso esperamos, publicaremos un segundo concurso. Ayúdanos a mejorar con tus comentarios.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-1419037568633527680?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0tag:blogger.com,1999:blog-2241667225229809737.post-22126066745437585982008-07-18T08:33:00.003+02:002008-07-18T08:56:55.937+02:00Solución al reto: 0x06 "Soft Coffee"Para resolver la prueba se proporciona un fichero, "softcoffe.jar".<br /><br />Si lo intentamos ejecutar veremos que da un error y no se ejecuta correctamente.<br /><br />Tomamos el jar, cambiamos la extensión a .zip y lo descomprimimos, dentro solo tendremos una clase, "<span style="font-style: italic;">SoftCofee.class</span>", con un decompilador decompilamos el fichero y obtenemos el código java.<br /><br />La primera línea después de los imports nos indica que es un Midlet, es decir una aplicación J2ME<br /><br /><span style="font-size:85%;"><span style="color: rgb(0, 0, 0); font-style: italic;font-family:times new roman;" > public class SoftCoffee extends MIDlet {</span></span><br /><br />Así que para ver donde se inicia la aplicación iremos a la función StartApp.<br /><br /> <span style="font-style: italic;"> </span><span style="font-style: italic;font-size:85%;" ><span style="font-family:times new roman;"> String[] data={"23","47","889","123","456","7145","239","1","9","15"};</span><br /><span style="font-family:times new roman;"> String seed="h";</span><br /><span style="font-family:times new roman;"> String result="";</span><br /><span style="font-family:times new roman;"> for (int i=0;i<data.length;i++)><br /><span style="font-family:times new roman;"> String params[][]=new String[2][2];</span><br /><span style="font-family:times new roman;"> params[0][0]="number";</span><br /><span style="font-family:times new roman;"> params[0][1]=data[i];</span><br /><span style="font-family:times new roman;"> </span><br /><span style="font-family:times new roman;"> params[1][0]="seed";</span><br /><span style="font-family:times new roman;"> params[1][1]=seed;</span><br /><span style="font-family:times new roman;"> </span><br /><span style="font-family:times new roman;"> try {</span><br /><span style="font-family:times new roman;"> this.connect("http://www.techclot.es/geekpuzzle/geekpuzzle0106-softcoffee/script.php",params);</span><br /><span style="font-family:times new roman;"> seed=this.getString();</span><br /><span style="font-family:times new roman;"> result+=seed;</span><br /><span style="font-family:times new roman;"> } catch (Exception e) {}</span><br /><span style="font-family:times new roman;"> </span><br /><span style="font-family:times new roman;"> }</span><br /><span style="font-family:times new roman;"> System.out.println("Aqui ya deberías tener la clave, ahora busca la tabla de correspondencias, animo"); </span><br /></data.length;i++)></span><br /><br /></span>Si analizamos el código veremos que lo que se está haciendo en cada iteración del bucle es conectar contra una dirección, pasando una serie de parámetros, estos parámetros son "number" y "seed". Number se obtiene a partir del indice del bucle en el array data, seed se obtiene<br />con el valor de la conexión anterior, la primera vez, se enviará una "h".<span style="font-style: italic;font-size:85%;" ><br /><br /> <span style="font-style: italic;font-size:85%;" ><span style="font-family:times new roman;">String seed="h";</span></span></span><br /> <br />Tanto si tomamos el código y lo reescribimos en java standard como si realizamos cada iteración manualmente obtenemos el mismo resultado. "<span style="font-style: italic;">grmwdafair</span>".<br /><br />Bien ahora tenemos un texto cifrado ¿con que Algoritmo?¿cual es la clave?. Dice al final de la función StartApp.<br /><br /> <span style=";font-family:times new roman;font-size:85%;" ><span style="font-style: italic;">"Aqui ya deberías tener la clave, ahora busca la tabla de correspondencias, animo"</span></span><br /> <br />Bien, tabla de correspondencias, probamos con los algormitmos más conocidos de este tipo, el que se ha utilizado aquí es "Vigenere", ¿con que clave?, quizá, "<span style="font-style: italic;">animo</span>", Bingo!!<br /><br />La clave es <span style="font-weight: bold;">geekpasswd</span>.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2241667225229809737-2212606674543758598?l=blog.geekpuzzle.org'/></div>Geek Puzzlenoreply@blogger.com0