Project SEKAI Game Analysis

Hearing that Hatsune Miku released a new mobile game, I skillfully opened the Play Store, downloaded, and ran it. The game, just as skillfully, popped up with a smooth animation: 「通信エラーが発生しました」(“A communication error has occurred.”) Well, Japanese games loves abusing SafetyNet, after all.

Swiping back, I added the game to the MagiskHide list. Cleared the data, opened the game again—and… “A communication error has occurred.” Huh? What’s going on? I double-checked the settings, cleared the data again, but the error persisted. Slowly, I recalled the fear of being dominated by Disney+ Widevine L1. Could this game also enforce SafetyNet Hardware-backed Key Attestation?

Continue reading “Project SEKAI Game Analysis”

Reverse Engineering a Unity IL2CPP Game

This article is original by Coxxs. Please indicate the original link when reposting: https://dev.moe/3043

Instant Apps are truly a scary thing.

Out of boredom, I clicked on Dream Blast by Angry Birds for a trial. After a few minutes of playing, I found it interesting and downloaded the 70MB full version. And just like that, a few hours passed by…

Mobile games, you know, are captivating at the start but always push for in-app purchases later. While I support legitimate purchases, in-app purchases are not exactly likable. This game also has in-app purchase verification over the internet. After some thought, why not just modify the save file? After several attempts, I located the game save file at sdcard/Android/data/com.ro**o.dream/files/users/[userid]/prefs.json. Upon opening it, I found that the .json file was full of gibberish. Alright, time to hunt for the encryption algorithm.

Continue reading “Reverse Engineering a Unity IL2CPP Game”