miércoles, 13 de abril de 2022

Invocando la API de Instagram: Como reaccionar con emojis customizados

Tal vez algunos recordareis cuando invocaba manualmente la API de Badoo hace unos cuantos años para realizar acciones que no estaban permitidas desde el frontend, como poner intervalos de edades no permitidos, descripciones extra-largas...

Pues en esta ocasión vamos a intentar hacer algo parecido con Instagram. Como sabréis, las reacciones a las historias que permite el frontend de Instagram son solo 8. Pero... ¿Y si os digo que podéis usar cualquier emoji, como mis famosas estrellitas? 
Para esto vamos a analizar la llamada a la API que realiza la versión web de Instagram cuando reaccionas a una historia:
Como veis, la llamada a la API tiene un último parametro "reaction_emoji" que puede setearse a cualquier cadena de texto de longitud 1 con un único emoji, a traves del debugger, por ejemplo.

Ocurre exactamente lo mismo con las reacciones a comentarios:
En este caso, lo más probable es que a traves del frontend solo podais reaccionar con el emoji del corazon ❤️. Este emoji por defecto aparece cuando en la llamada a la API el último parámetro para el emoji es una cadena vacía, nulo, o indefinido (el código esta ligeramente obfuscado). En esta ocasion, ademas he podido comprobar que la longitud de la cadena del emoji ¡puede setearse mayor que 1! este texto puede incluir varios emojis, espacios, y saltos de linea (no permite caracteres alfanumericos) aunque al usar varios caracteres, la reacion al comentario es posible que no se muestre correctamente.

Para terminar, si os ha gustado este post, os pongo unos links a videos de YouTube donde otros jaquers se aprovechan de vulnerabilidades ya parcheadas de la API para hacer otras cosas, como hacer crashear la app al abrir una historia:

https://www.youtube.com/watch?v=4jCetFetFQA




sábado, 26 de marzo de 2022

Buffer overflow en Los SIMS 2 (Nintendo DS)

El juego de Los SIMS 2 para Nintendo DS tiene un bug en uno de sus minijuegos que hace que el tamaño del bolsillo de objetos se haga negativo, o exceda el máximo de 6 objetos. Hasta el día de hoy despues de 15 años, ese bug era únicamente conocido por corromper partidas guardadas, haciendo crashear el juego, y la recomendación era no jugarlo.

Pero en mi caso, tras descubrir de la existencia de ese bug, pensé... Es un buffer-overflow, tal vez pueda usarlo a mi favor si lo investigo. ¿De verdad nadie lo había intentado antes? No estamos hablando de un juego homebrew del tío Paco jugado por 20 personas, estamos hablando de una leyenda como son los SIMS.

Pues resulta que explotando el bug correctamente, podemos escribir en las direcciones de memoria del juego que queramos (dentro de unos limites), o introducir los objetos con el identificador que queramos dentro del bolsillo, incluyendo objetos nunca antes vistos. Para no aburriros, lo he resumido en 2 vídeos, para que veáis que me lo he currao'


jueves, 3 de febrero de 2022

Practicando con Excel: Estadisticas COVID y juegos cutres

Pues hacía bastantes años que no usaba Excel para nada. De hecho creo que no lo usaba desde antes de la universidad, así que ya iba siendo hora de repasar un poco, ya que a fin de cuentas es una herramienta muy útil para administrar información, cálculos, y tal.

Lógicamente empecé repasando los estilos de celdas, luego pasé a las funciones (Que es la parte más interesante de el programa), luego estuve viendo como se podían obtener datos externos, las tablas dinámicas, y finalmente los macros en Visual Basic.

En resumen, que en una semana he pasado de ser un inculto del Excel a un semi-experto XD

Y bueno, y os preguntareis, ¿a que viene este post? Pues quería compartiros 5 de los proyectos que hice en Excel esta semana para practicar ya que creo que os podrían interesar. Los ordeno de mas simples a más complejos para que no perdáis la emosion al leer hasta el último momento:

1. Estadisticas del COVID en tiempo real (Descarga)

Tal cual, este archivo Excel (sin macros) tiene un origen externo de datos a un CSV de datos oficiales del COVID que se actualiza periódicamente en la URL https://cnecovid.isciii.es/covid19/resources/casos_tecnica_provincia.csv que Excel descarga al abrir el documento.

Como veis genera tabla y gráficos donde muestra el incremento de casos de COVID diarios, y el total acumulado en el periodo y provincia(s) que nosotros queramos filtrar




2. Juegos cutres
 (Descarga)

Los macros de Visual Basic ofrecen infinitas posibilidades para hacer y automatizar montones de cosas de forma programática en nuestros documentos. Quien se iba a imaginar para lo que las iba a usar yo..

2.1. SameGame

SameGame es un juego clásico de Linux, y Windows Mobile entre otras plataformas que algunos ya recordaremos. Es muy adictivo, así que gracias a esta versión podréis pasar horas en Excel intentando batir récords, y en el caso de que trabajes con Excel, tu jefe al verte pasar tanto tiempo con la aplicación de hoja de calculo te nombrara automáticamente empleado del mes!


Como podéis ver, tiene celdas para el ancho, alto, y número de colores que podéis cambiar a vuestro gusto y el tablero se adaptará automáticamente. Nota: Si termináis la partida sin pelotitas, ingresareis 1000 puntos extra.

2.2. Juego sin nombre 1

Bueno, pues el siguiente juego es una tontería, aunque pondrá a prueba tus reflejos. Se trata de que dentro de un área aparecerán bolitas de colores aleatorios cada vez que hagas click en la última que apareció, y tienes que estar pendiente de cual es la última que aparece, porque si haces click en la equivocada: Game Over.


2.3. Juego sin nombre 2

Pues este esta basado en un juego que tenía en un "Brick game", o sea, un Tetris baratos de esos. No tengo ni idea de si tendrá nombre. Tienes un área cuadriculada en la que cada vez que haces click en un cuadrito, se hará bit flip / xor / cambiaráDeBlancoANegroOViceversa en ese cuadrito y los adyacentes en el caso de que estos existan (si no haces click en un borde). El objetivo es, empezando con el área totalmente en negro, dejarla completamente blanca. Es más difícil de lo que parece, os hará pensar.




3. Excel retro-Music Player (Descarga)

Si crear juegos en Excel os pareció friki, mejor no veáis esto...



4. Reversi multijugador On-line (Descarga)

Y para ir terminando, si os parecieron frikis los juegos en Excel, este ya se lleva un premio... Se trata de una versión del Reversi que podéis jugar a través de internet en tiempo real con quien queráis compartiendo un "identificador de mesa".


Para compartir los movimientos en tiempo real de los jugadores, se conecta a la API de https://myjson.dit.upm.es/ la cual sin duda os recomiendo para vuestros experimentos y proyectos.


5. Bad Apple!! (Descarga)

Creo que sobran las explicaciones...


Y eso fue todo. ¿Cual es vuestro favorito?

domingo, 30 de enero de 2022

Aprender a hackear con Juan: 2 canciones en una (Audio oculto)

 ¡Feliz año nuevo 2021 y 2022 folouers!

A quien no le ha pasado (ironía) que de repente escucha una canción tan clásica como el Nothing Else Matters de Metallica en el altavoz mono de su movil, o en un ya obsoleto CD de audio (grabado por un mal amigo) y va a conectar los auriculares para escucharla mejor y... pum! toma pokazo del bueno!

Descarga aquí el MP3 trucado

Esto te podría ocurrir no solo en un moderno smartphone o reproductor de MP3 (tan fáciles de hackear) sino también en un reproductor de CDs de hace 30 años.

¿Que clase de brujería es esta? Os los explico ;)

Las canciones normalmente tienen dos canales estéreo: izquierdo y derecho, que suelen tener señales de onda casi idénticas. A la hora de reproducir estas canciones en dispositivos que solo tienen un altavoz (mono) lo que hacen es combinarlas obteniendo una sola. Esta operación es muy simple: simplemente calcula el promedio de la muestra de los dos canales en un momento dado. Pero ¿que pasa si creamos un audio "hackeado" en el que el valor de un canal es el inverso del otro? Al invertir un canal de audio, este sonará igual, pero al intentar reproducir el audio resultante en un único altavoz, el promedio de ambos canales siempre será 0 (cero), es decir... ¡No oiremos nada!

¿Y si a ese audio "silenciado" le añadimos de fondo otra canción sonando tan solo al 3% del volumen de la otra? Lo vereis mejor en Audacity:


Gracias por vuestros no-comentarios, mis seguidores inexistentes. Os quiero ❤️