HeadlinesBriefing HeadlinesBriefing.com

逆向工程Hitster板块游戏应用

Hacker News •
×

我收到了一款叫做“Hitster”的板块游戏作为礼物。这是一款游戏,你需要识别歌曲并猜测发行年份、艺术家等信息。每张卡片的正面都有艺术家或乐队名称、歌曲发行年份和歌曲标题。背面有一个二维码,你可以用Hitster应用扫描它,然后通过Spotify或Apple Music播放音乐。可惜的是,应用需要Apple Music或Spotify订阅才能使用。在本篇博客文章中,我会深入探索如何逆向工程Android应用并绕过他们非常不专业的隐藏数据尝试。

在每张卡片的正面,你会发现艺术家或乐队名称、歌曲发行年份以及歌曲标题。在背面,有有一个二维码。扫描它会带你前往包含两个东西的URL路径:游戏的地区(DE)和卡片ID。随后音乐会在应用中或通过Spotify播放。这意味着存在从卡片ID到Spotify曲目的所有映射。还有每个地区有多个卡片版本,所以卡片ID本身不足以识别一首歌曲。

我从一些可疑的Android APK下载网站获取了该应用的APK文件,使用jadx获得了反编译后的Java代码。经过一段时间的挖掘,我发现了位于res/raw下的几个JSON文件。其中一个名为gameset_database_4.json,看起来被加密了。我运行了一个工具来识别格式,它返回显示为Base64。这是一个编码,所以我先对其进行解码。结果仍然不可读,我猜测它是使用AES或类似方法加密的。我从未逆向工程过Android应用,所以只是全局搜索了AES。猜你好吗?果然有一个名为k43.java的文件,其中完整地展示了整个解密过程。

FAQ Q: Hitster应用如何解密其游戏数据库?

FAQ A: 应用使用Base64编码和AES/GCM/NoPadding加密的JSON文件。解密密钥是通过SHA-256从整数字符串和密钥字符串拼接中派生的。IV是解码数据的前12个字节。

来源: Hacker News · 由HeadlinesBriefing整理摘要