hn.today

I reverse engineered a board game

wuemeli.com22 points3 comments
Screenshot of I reverse engineered a board game

Hitster is a party board game that uses QR-coded cards to launch song clips in a companion app via Spotify or Apple Music; each QR encodes a URL containing a region and a card ID, creating a mapping from Card ID to music track (with multiple regional variants). After extracting an APK from an Android download site and decompiling with jadx, the decompiled resources included a Base64-encoded JSON (gameset_database_4.json). Tracing code revealed an AES-GCM decryption routine: the app decodes Base64, slices out a 12-byte IV, derives a 256-bit AES key by SHA-256 hashing a concatenation of (data length - 28) and a hardcoded string, then decrypts the ciphertext to yield plaintext mappings. Running that process produced a ~31,000-line file mapping card IDs to Spotify/Apple Music tracks, ISRCs, and region-specific variants.

The effort exposed a sloppy security posture: after about 18 hours of reverse engineering and a Rust-based decryptor (with help credited to Mr.Corrupt), the same dataset was discovered unencrypted on the company server at hitster.jumboplay.com/hitster-assets/gameset_database.json. In short, the app contained a working AES-GCM decryption routine but the underlying data was left publicly accessible, turning a non-secret into an avoidable reverse-engineering exercise and demonstrating security through obscurity rather than real protection.

Read on wuemeli.com3 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Security

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.