Application security feature

Anti-modding

Otukan anti-modding recognises repackaged, patched and re-signed game builds on Android and iOS, and tells your game server which sessions come from a mod.

  • Android
  • iOS
  • Unity
Repackaged mod builds is met at the build integrity boundary before it reaches the appRepackaged mod buildsBuild integrityYour app
  • Your build, recognised

    Otukan compares the running game with the release you published: code, bundled assets, native libraries and the certificate it was signed with.

  • Mods lose their payoff

    A modded session can be kept away from ranked queues, trading and the store, so the unlocks a mod promises stop being worth installing.

  • Clean installs stay quiet

    Store re-signing, split packages and legitimate updates are part of the integrity reference, so players on genuine copies see nothing.

Mod techniques Otukan recognises

Choose a technique to see what Otukan checks, what the game does and what your server is told.

Repackaged installers

  1. Detect

    Otukan spots a game package that was unpacked, edited and rebuilt, because its contents no longer match the published release.

  2. Respond

    The rebuilt copy can be limited to offline play or closed at launch, before patched logic runs.

  3. Report

    Your server learns that the session comes from a rebuilt package, with the build and platform attached.

Injected mod menus

  1. Detect

    Otukan finds libraries loaded into the game that your release never shipped, the usual carrier for an in-game cheat menu.

  2. Respond

    Competitive modes and the in-game store close for that session while casual play can continue.

  3. Report

    The foreign-library signal reaches your server, which can void results produced while it was loaded.

Patched game logic

  1. Detect

    Integrity checks on compiled game code notice functions altered to skip cooldowns, unlock content or remove ads.

  2. Respond

    The game stops before the altered function is used in a flow you protect.

  3. Report

    Your team sees which build was patched, which helps trace the mod back to its source.

Swapped assets and configs

  1. Detect

    Otukan checks bundled assets and configuration files, so edited drop tables, maps or balance values are recognised.

  2. Respond

    The game refuses the edited file and can reload the published version or end the session, as you choose.

  3. Report

    An asset-integrity signal tells the server which content no longer matches your release.

Foreign signing certificate

  1. Detect

    Otukan checks the signing identity the running copy carries against your release identity on Android and on iOS.

  2. Respond

    A copy signed by someone else can be blocked from sign-in and purchases.

  3. Report

    The server receives the mismatch before it creates or resumes a player session.

Controls that make mods harder to build and use

Anti-modding works best alongside controls that slow down the people who write mods.

  • Anti-tampering

    Checks code, resources and signature on launch and before protected flows, and reacts to any mismatch with your chosen response.

  • Code obfuscation

    Renames and restructures game logic so a decompiled build no longer points modders to the function to patch.

  • Hooking detection

    Notices code that intercepts game functions at runtime, the route mod menus take when the package itself is left untouched.

  • App attestation

    Gives your server platform-backed evidence, verified on your side, that a session comes from your genuine game on a real device.

You choose the response

Set a response for each user flow. Start by observing, then tighten flow by flow as the signals prove themselves.

Observe

Signal sent to your backend

Rolling out a new policy and measuring real-world signals.

Warn

This device looks modified. Continue with care.

Conditions some genuine users create, such as developer settings.

Restrict

Payments are unavailable on this device.

Payments, stored data and account changes.

Terminate

Session closed for your security.

Clear tampering on a high-risk flow.

How anti-modding is introduced

  1. Collect known mods

    Your team lists the mods in circulation and what each one unlocks or removes.

  2. Protect each release

    Integrity protection is added inside your existing build and release pipeline; signing keys never leave your team.

  3. Measure silently

    Checks report without effect while you see how many sessions run modded copies.

  4. Close the payoff

    Ranked play, trading and the store move to restrict once the numbers are clear.

Free for app publishers

Check your app's exposure

A passive review of your published app by an Otukan engineer. No files, no access to your systems. Findings go by email to the verified publisher.

You finish the request on the next page.

Evaluate anti-modding by testing three things: whether it recognises a changed copy of your game in the forms modders actually use, whether your server can act on that signal for the flows that carry value, and whether honest players on genuine installs stay untouched. Otukan checks the running game against the build you published, covering code, assets, native libraries and signing identity, on Android and iOS, including Unity titles. It raises the cost of building and using mods and reports every modded session it recognises to your backend, where inventory, currency and results stay decided by your game server.

The wider picture of cheats and revenue loss is covered on game and revenue protection.

Client exposure

A mod is a copy of your game that someone has changed and redistributed. The change lands in one of four places, and each maps to a different kind of manipulation.

Where the mod livesWhat it manipulatesTypical resultWhat Otukan checks
Rebuilt packageExecution: patched logic in the shipped codeUnlimited lives, skipped timers, removed adsCode and package contents against your release
Injected libraryExecution and state: a menu that toggles cheats in playGod mode, auto-aim, visible enemiesLibraries your release never shipped
Edited assets and configsState: drop rates, prices, level dataCheaper items, easier levelsBundled assets and configuration files
Paid content switched on locallyRewards and purchases: unlocks without paymentPremium skins, battle passes, ad-free modeIntegrity of the code that reads entitlements, with ownership held on your server

Android and iOS differ

On Android, modded packages are shared openly on download sites and installed with a few taps, so rebuilt installers are the main channel. On iOS, a mod usually arrives as a re-signed copy installed through sideloading, or as a library injected on a jailbroken device. Otukan builds its checks for each platform separately, and each signal names the platform it came from.

Unity titles

A Unity game has two layers a modder can target: the native app shell and the engine’s compiled game code and asset bundles. Otukan checks both, so a patched script assembly or an edited asset bundle is recognised as clearly as a changed native library. Engine specifics are covered on Unity app security.

Server authority

A client check tells you what happened on the device. Only the server can make that information stick. For anti-modding, keep these decisions on the backend:

  • Entitlements. Whether a player owns premium content is read from your server, never from a flag in the client that a mod can flip.
  • Build admission. The server decides which build versions and integrity states may enter ranked play, trading or events.
  • Result acceptance. Match results and progression from a session flagged as modded can be held or discarded.
  • Account action. Warnings, temporary restrictions and bans are applied and reversed on the server, with the evidence stored alongside.

Otukan sends its integrity result with the session, so your server can admit a genuine build and hold back a modded one before it trusts any claim that client makes. Request-level protection for the same traffic is covered on mobile API protection.

Player experience

Performance

Integrity checks on code and assets do real work, so where they run matters. Otukan places the full check at launch and during loading screens, and lighter checks before protected moments such as match entry or opening the store. Measure launch time and frame time on the oldest devices you support before a protected build goes out.

False positives

Genuine installs change shape legitimately. App stores re-sign builds, Android delivers split packages per device and every update changes your code. Otukan’s integrity reference is built from the release as distributed, so these cases pass. Test each release three ways with Otukan: install a known mod in an authorised lab and confirm the signal, play the same journey on a clean supported device and confirm silence, then repeat install, update, sign-in and your most valuable game mode.

Appeal and recovery

Many players who run a modded copy downloaded it from the wrong site without understanding what it was. Give them a way back: a message that explains the build is not genuine, a link to the official store and a support route that can clear the flag once they reinstall. Keep stronger action for accounts that return with new mods after that.

For the cheat side in depth, see mobile game anti-cheat. Modded clients of streaming and media apps are covered on streaming and media application security. If your game is already live, you can request a free App Exposure Check of the published store release.

Common questions

  • Can a determined modder remove the integrity checks?

    Someone with enough time can study any code that runs on their own device. Otukan makes that work slower by combining obfuscation, several integrity checks at different moments and runtime hooking detection, and it reports to your server so a silenced check is itself visible. The practical goal is that each game update breaks existing mods and rebuilding them costs more than the mod is worth.

  • Will players who installed a modded copy by accident be banned?

    That is your decision, and Otukan gives you the evidence to make it fairly. Many studios restrict the modded session and show a message pointing to the official store, rather than punishing the account. Because the signal names the build and the failed check, support can tell an accidental download from a player who repeatedly returns with new mods.

  • Does Google Play App Signing or App Store re-signing cause false alerts?

    No, when the integrity reference is set up correctly. On Android with Play App Signing, Google signs the packages players download, so Otukan's reference uses your app signing identity rather than your upload key. On iOS, Apple signs App Store builds for distribution, and Otukan's check looks for copies signed with a different identity for sideloading.

  • Do we need to change our game code for anti-modding?

    Anti-modding fits your existing build and release pipeline, so the game logic you write stays the same. Your team decides which flows are protected, such as ranked matches, trading or the store, and what the response is in each. Protected builds then go through your usual testing and store submission.

On the mobile engineering team?

How protection fits your build, signing and release, platform by platform.

Ship the build players are meant to play

Tell us the platforms and engine you ship, where modded copies of your game circulate and what they unlock. We never ask for game source, builds, signing keys or player data.

Or request a technical demo