Hackeando Sleepy en el Bilbostack

Published on
2 minutos
thumbnail-image
Imagen generada por la inteligencia artifical DALL·E

Como muchos sabéis, este año en el Bilbostack sacó un juego creado con Zenekezene para darle un poco de vidilla la semana del evento. El juego era un clicker con preguntas sobre el evento y, en base a los puntos obtenidos, te colocaba en una posición en un ranking. Los tres mejores ganaban un ejemplar del libro Basakume.

Como siempre suele pasar en estas cosas, lo primero que se me pasó por la cabeza fue automatizar lo máximo posible para ver hasta qué puntuación llegaba. Una cosa llevó a la otra, al final mucha gente se picó y le dio bastante vidilla a la semana pre-evento. Yo di por hecho que siendo un evento de tecnología y desarrollo, los hacks estaban permitidos, pero quizás haberlo preguntado no hubiese estado de más.

Para mi solución, quise refrescar cosas que hice hace unos años con Puppeteer: simular al usuario de una manera automatizada. Lo que me daba una pereza tremenda era montarme en local el proyecto para hacerlo así que, investigando un poco, descubrí que Puppeteer tiene una extensión para el navegador que ejecuta directamente el código de Puppeteer sin necesidad de instalarse nada más. ¡Genial!

Simulé la acción de clics infinita pero pasé de desarrollar la parte de la respuesta automática a las preguntas; después de jugar dos o tres veces, ya me sabía las respuestas. En cualquier caso, usando la extensión y las respuestas, se me hacía complicado llegar a más de 22,000 puntos. Estuve haciendo pruebas con Javascript puro, directamente en la consola de las Chrome Dev Tools y el resultado fue el mismo. Al fin y al cabo, Puppeteer hace lo mismo para ejecutar sus scripts.

        await page.evaluate(() => {
          document.querySelector('#collider').click();
        });

La cosa fue subiendo de nivel y llegó el punto en que la comunidad votó por resetear las puntuaciones. Personalmente, creo que sin hacks llegar a 15,000 puntos era casi imposible. Me quedo con la gente que compartió sus soluciones y las risas que pudimos echar en el evento.

Zeneke publicó hace unos días un postmortem súper interesante de todo lo que aprendió creando Sleepy. Échadle un ojo, merece la pena.

Y poco más que añadir, si queréis hacer pruebas para automatizar cosas web, la extensión de Puppeteer está bien, la sintaxis no es compleja y te permite, sin necesidad de instalar nada más, jugar con autoclick y/o opciones para rellenar formularios de manera más rápida.

Y hasta aquí llega mi post sobre los Sleepy, los hacks y Puppeteer. Si te ha resultado interesante compártelo y si tienes alguna duda, escríbeme un comentario y te responderé lo antes posible.