Evaluate memory editing detection by naming the values in your game that matter, following each through its life in memory, and testing whether an edit is caught before the value is used or sent to your server. Otukan detects memory scanners, editors and debuggers working on a running game, and checks the values you mark at the moment they are read. On Android and iOS, including Unity titles, it reports which value class was touched so your server can restore state or void a result. Your server keeps the ledger for currency and inventory; Otukan tells it when a client’s numbers can no longer be trusted.
For the full set of game controls, see game and revenue protection.
Exposure
Memory editors are among the oldest cheat tools, because they need no knowledge of your code. A player searches for the number on screen, changes it in the game, searches again and repeats until one address is left. Then they write the value they want.
| Value | Where it lives while playing | What an edit does | Who loses |
|---|---|---|---|
| Soft currency | Cached balance shown in the shop and HUD | Unlimited purchases in-game | Your economy and paying players |
| Health, damage, ammunition | Combat state computed on the device | Invincibility and one-hit wins | Opponents in competitive modes |
| Cooldowns and timers | Countdown values the client ticks down | Skipped waits that players would otherwise pay to skip | Your revenue |
| Scores and progress | Totals built up during a run before submission | Leaderboard entries no one earned | Every honest player on the board |
| Loaded buffers | Level data and item stats read from files | Weaker enemies, stronger drops | Balance and live-ops plans |
Each row names a transient value: it exists in readable form only while the game runs. That is the exposure memory editing detection addresses.
Lifetime
Mapping each value’s lifetime shows where checks belong and where a plaintext number cannot be avoided.
Creation
A value appears when the game loads it from the server, from a save or from game data. From this moment Otukan holds a marked value in a checked form.
Use
Every read by your game’s code confirms the value still matches its check. A value that an outside tool rewrote fails at this step and triggers your response.
Display and computation
To draw a number on screen or run combat maths, the game needs the plain number for a moment. That boundary is unavoidable, and editors aim for it. Otukan narrows the window and watches for the tools that exploit it.
Synchronisation and cleanup
When the value is sent to your server, the session’s memory signals go with it. When the run or match ends, marked values are cleared, and the next session starts from the server’s record.
Where editors get their access
On Android, most memory editors need root access or run your game inside a virtual container next to the editor. On iOS they usually depend on a jailbreak or an injected library. Memory reading and editing in iOS apps more widely is covered on iOS app memory protection. Otukan builds these environment checks separately for each platform.
Validation
A memory editing control is only as good as its test. Run three passes with Otukan on each protected release:
- Positive test. On an authorised rooted Android device and an authorised jailbroken iOS device, change a marked value with a memory editor and confirm the expected signal and response.
- Negative control. Play the same journey on clean supported devices and confirm that no check fires, including during heavy scenes where the game updates values quickly.
- Regression. Repeat install, update, sign-in and your most valuable mode, and record OS versions, devices, results and the reviewer.
Also record a legitimate runtime baseline: how often each check fires on clean devices during long sessions, backgrounding and resuming, low-memory conditions and the fastest scenes in your game. That baseline is what lets you enforce with confidence, because it shows the quiet state you expect from honest players and makes a real edit stand out.
Keep one mistake out of the test plan: encrypted save files or encrypted storage do not prove anything about memory. A value can be encrypted on disk and still sit as a plain number in memory while the game runs. Test the running game.
Protecting secrets rather than game values in memory is covered on mobile app memory protection. For how signals feed a cheat verdict, see mobile game anti-cheat.