Un desarrollador documenta el proceso de ingeniería inversa de la aplicación móvil de un juego de mesa llamado 'Hitster', cuyo objetivo es identificar canciones y artistas mediante códigos QR. El proyecto surge tras recibir el juego como regalo, donde la app requiere una suscripción activa a Spotify o Apple Music para reproducir la música, lo que motivó la búsqueda de una alternativa técnica.
El análisis comenzó con la obtención del archivo APK y su descompilación usando la herramienta jadx. El investigador identificó un archivo JSON cifrado en la carpeta res/raw que contenía la base de datos de mapeo entre IDs de cartas y pistas de música. Al analizar el código Java, se descubrió que el cifrado utilizaba AES-GCM, con un nonce de 12 bytes y una clave derivada mediante SHA-256 a partir de una cadena secreta de 16 bytes.
La clave secreta se localizó mediante una búsqueda en el código fuente que reveló dos arrays de 32 bytes. Al aplicar una operación XOR entre ambos, se obtuvo una cadena de texto que, al ser utilizada como input para la derivación de la clave, permitió descifrar los datos. El resultado fue una base de datos de aproximadamente 31.000 líneas que mapea IDs de cartas a pistas de Apple Music y Spotify, incluyendo códigos ISRC, para múltiples regiones. Este proceso demuestra cómo la obfuscación básica en aplicaciones móviles puede ser superada mediante el análisis del código fuente y la recuperación de claves derivadas.
