finds.dev← search

// the find

Perfare/Zygisk-Il2CppDumper

★ 3,181 · C · MIT · updated Aug 2024

Using Zygisk to dump il2cpp data at runtime

A Zygisk (Magisk) module that hooks into Android processes at startup to dump il2cpp metadata from Unity games at runtime, bypassing encryption and obfuscation that static tools can't handle. Aimed squarely at mobile game reverse engineers and security researchers who need the type/method maps that il2cpp strips out of shipping builds.

Runtime dumping via Zygisk means it works against games where the il2cpp binary is packed or the global-metadata.dat is encrypted — static dumpers like the original Il2CppDumper simply fail here. The GitHub Actions workflow that builds a per-package module without touching Android Studio is a genuinely good developer experience shortcut. Bundles xdl for dynamic library resolution, which is the right call on modern Android where linker namespace isolation breaks naive dlopen/dlsym tricks. Fork count (10k+) is an honest signal that this fills a gap no other tool covers.

Last commit was August 2024 and Unity/il2cpp moves fast — newer Unity 6 metadata formats or updated obfuscation schemes may already have broken it with no fix coming. You must recompile with a hardcoded package name for every target game; there's no runtime configuration or generic mode, which is tedious at scale. No documentation on what the output dump.cs actually contains or how to use it downstream (it assumes you already know the Il2CppDumper ecosystem). The project is a single-purpose module with no tests and no CI validation beyond 'it builds', so breakage on a new Android version or Magisk API change won't be caught until users report it.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →