Dump Il2Cpp metadata from a running game — past encryption, obfuscation, and packing.
Original: Runtime Il2Cpp metadata dumping to dump.cs on arm64/armeabi-v7a (and x86/x86_64 via houdini).
This fork adds:
- 🔧 Dynamic target switching — Change games via
persist.il2cppdumper.packagewithout rebuilding the module. - 🔢 Const value dumping — Extracts actual literal values for all primitives and strings, not just enums.
- 🌊 Streaming output — Incremental writes for a low memory footprint on large games.
- ⏱️ Runtime polling — Dynamically waits for the runtime instead of a fixed delay, fixing early-load failures.
- 🛡️ Hardened native path — Fragile syscalls fail gracefully instead of crashing.
- 🖥️ WebUI — Switch targets directly via KernelSU/APatch without ADB or shell.
- 🖲️ Root-manager integration — Action button to view/set targets, with a seeded boot default.
- A Zygisk‑capable root solution with Zygisk enabled:
- Magisk (v24+), or
- KernelSU / APatch with ZygiskNext.
- The target game must be an Il2Cpp‑built Unity app.
Important
Game crashes on launch? It likely detects root. Turn Enforce DenyList OFF, install Shamiko, and add the game to the DenyList — this hides root while keeping the module loaded.
1. Install the module
Download the latest build from Releases (or build it yourself), flash it in your root manager, and reboot.
2. Set the target game package
Via ADB:
adb shell "setprop persist.il2cppdumper.package com.example.game"…from a root shell on the device:
setprop persist.il2cppdumper.package com.example.game…or, on KernelSU / APatch, open the module's WebUI, type the package name, and tap Save — the page also shows the current target.
3. Launch the game
Start the game and let it finish loading. The dump is written to:
/data/data/<GamePackageName>/files/dump.cs
Tip
Changing the target is instant. Set the property to a new package and restart that game — no rebuild, no reinstall.
setprop persist.il2cppdumper.package com.new.game- Clone or download the source.
- In Android Studio, run the Gradle task
:module:assembleRelease. - The flashable zip is produced in the
out/folder. - Flash it in your root manager and reboot.
A fork of the original Zygisk‑Il2CppDumper by Perfare. All the original runtime‑dumping groundwork is theirs — this fork builds on it with the features listed above.
Released under the MIT License.
