For Developers
For developers, from the developer of a cheat app: what CheatDroid can change in an Android game on a rooted phone, and what stops it, with code.
- How to Protect Your Android Game from Cheat Apps
I make CheatDroid, a cheat app for rooted phones. What it changed in eleven popular Android games, what stopped it, and the cheap defences I'd add first.
- Protecting PlayerPrefs and SharedPreferences from Editing
Unity PlayerPrefs and Android SharedPreferences are plain XML that root edits in seconds. Why renaming keys doesn't help, and how to sign values so edits fail.
- Protecting Game Values in Memory from Scanners
Memory scanners find a coin counter by searching for the number on screen. How CheatDroid reads another app's memory, and the XOR trick that leaves it nothing to find.
- Protecting Save Files and Databases from Tampering
Save files and SQLite databases are editable with root. How a checksum stopped me in Kick the Buddy, and how to encrypt a save with a key the phone keeps.
- Protecting In-App Purchases and Network Traffic
On a rooted phone CheatDroid reads an app's HTTPS traffic and replays requests. Certificate pinning, server-side purchase checks and one-time reward tokens stop it.
- Root Detection and Play Integrity for Game Developers
Root checks are easy to hide from and annoy honest users. What Play Integrity's verdicts mean, why they belong on your server, and what Play's automatic protection did.
- Exported Activities, Intents and Secrets in Your APK
CheatDroid lists every activity an app declares and launches any of them with root. Why debug menus belong out of release builds and secrets out of the APK.