
If you're reverse engineering Unity mobile games, you've probably hit the IL2CPP wall where all the C# method names are gone from the binary but still sitting in global-metadata.dat. This walks you through extracting that mapping with Il2CppDumper, including the critical detail that Unity 6 needs the v39 fork, not the original tool. The workflow is thorough: finding the right files in iOS IPAs and Android APKs, checking metadata versions, running the dumper with the right .NET flags, and importing the output into IDA or Ghidra. The troubleshooting table alone (codesign issues, exit code 134 being normal) will save you an hour of confusion.
$ npx -y skills add p4nda0s/reverse-skills --skill rev-u3d-dump --agent claude-codeInstalls into .claude/skills of the current project.
Extract C# method names, addresses, and type definitions from Unity IL2CPP builds for IDA/Ghidra analysis.
Unity IL2CPP compiles C# to native code. The original class/method names are stripped from the binary but preserved in global-metadata.dat. This skill recovers the mapping between native function addresses and their original C# names.
| File | Location | Purpose |
|---|---|---|
| Native binary | iOS: Frameworks/UnityFramework.framework/UnityFrameworkAndroid: lib/{arch}/libil2cpp.so | Compiled C# code (Mach-O / ELF) |
| Metadata | Data/Managed/Metadata/global-metadata.dat | All type/method/string info |
Use the v39 fork for Unity 6+ builds:
https://github.com/roytu/Il2CppDumper (branch: v39)script.json with function addresses — ready for IDA/Ghidra importThe original Il2CppDumper (https://github.com/Perfare/Il2CppDumper) only supports up to v29.
Sponsors