Voltar ao ranking

Perfare/Il2CppDumper

C#

Unity il2cpp reverse engineer

il2cppreverse-engineeringunityunity3d
Crescimento de estrelas
Estrelas
9.2k
Forks
1.9k
Crescimento semanal
Issues
131
5k
dez. de 2016fev. de 2020mai. de 2023jul. de 2026
README

Il2CppDumper

Build status

中文说明请戳这里

Unity il2cpp reverse engineer

Features

  • Complete DLL restore (except code), can be used to extract MonoBehaviour and MonoScript
  • Supports ELF, ELF64, Mach-O, PE, NSO and WASM format
  • Supports Unity 5.3 - 2022.2
  • Supports generate IDA, Ghidra and Binary Ninja scripts to help them better analyze il2cpp files
  • Supports generate structures header file
  • Supports Android memory dumped libil2cpp.so file to bypass protection
  • Support bypassing simple PE protection

Usage

Run Il2CppDumper.exe and choose the il2cpp executable file and global-metadata.dat file, then enter the information as prompted

The program will then generate all the output files in current working directory

Command-line

Il2CppDumper.exe <executable-file> <global-metadata> <output-directory>

Outputs

DummyDll

Folder, containing all restored dll files

Use dnSpy, ILSpy or other .Net decompiler tools to view

Can be used to extract Unity MonoBehaviour and MonoScript, for UtinyRipper, UABE

ida.py

For IDA

ida_with_struct.py

For IDA, read il2cpp.h file and apply structure information in IDA

il2cpp.h

structure information header file

ghidra.py

For Ghidra

Il2CppBinaryNinja

For BinaryNinja

ghidra_wasm.py

For Ghidra, work with ghidra-wasm-plugin

script.json

For ida.py, ghidra.py and Il2CppBinaryNinja

stringliteral.json

Contains all stringLiteral information

Configuration

All the configuration options are located in config.json

Available options:

  • DumpMethod, DumpField, DumpProperty, DumpAttribute, DumpFieldOffset, DumpMethodOffset, DumpTypeDefIndex

    • Whether to output these information to dump.cs
  • GenerateDummyDll, GenerateScript

    • Whether to generate these things
  • DummyDllAddToken

    • Whether to add token in DummyDll
  • RequireAnyKey

    • Whether to press any key to exit at the end
  • ForceIl2CppVersion, ForceVersion

    • If ForceIl2CppVersion is true, the program will use the version number specified in ForceVersion to choose parser for il2cpp binaries (does not affect the choice of metadata parser). This may be useful on some older il2cpp version (e.g. the program may need to use v16 parser on il2cpp v20 (Android) binaries in order to work properly)
  • ForceDump

    • Force files to be treated as dumped
  • NoRedirectedPointer

    • Treat pointers in dumped files as unredirected, This option needs to be true for files dumped from some devices

Common errors

ERROR: Metadata file supplied is not valid metadata file.

Make sure you choose the correct file. Sometimes games may obfuscate this file for content protection purposes and so on. Deobfuscating of such files is beyond the scope of this program, so please DO NOT file an issue regarding to deobfuscating.

If your file is libil2cpp.so and you have a rooted Android phone, you can try my other project Zygisk-Il2CppDumper, it can bypass this protection.

ERROR: Can't use auto mode to process file, try manual mode.

Please note that the executable file for the PC platform is GameAssembly.dll or *Assembly.dll

You can open a new issue and upload the file, I will try to solve.

ERROR: This file may be protected.

Il2CppDumper detected that the executable file has been protected, use GameGuardian to dump libil2cpp.so from the game memory, then use Il2CppDumper to load and follow the prompts, can bypass most protections.

If you have a rooted Android phone, you can try my other project Zygisk-Il2CppDumper, it can bypass almost all protections.

Credits

Repositórios relacionados
BepInEx/BepInEx

Unity / XNA game patcher and plugin framework

C#GNU Lesser General Public License v2.1unitypatcher
8.3k851
focus-creative-games/hybridclr

HybridCLR是一个特性完整、零成本、高性能、低内存的Unity全平台原生c#热更新解决方案。 HybridCLR is a fully featured, zero-cost, high-performance, low-memory solution for Unity's all-platform native c# hotupdate.

C++MIT Licensecsharphotupdate
code-philosophy.com
7.9k743
LavaGang/MelonLoader

The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono

C#Apache License 2.0melonloaderunity
discord.gg/2Wn3N2P
4k637
Perfare/Zygisk-Il2CppDumper

Using Zygisk to dump il2cpp data at runtime

CMIT Licenseandroidriru
3.2k10.8k
sinai-dev/UnityExplorer

An in-game UI for exploring, debugging and modifying IL2CPP and Mono Unity games.

C#GNU General Public License v3.0moddingunity
3.1k541
djkaty/Il2CppInspector

Powerful automated tool for reverse engineering Unity IL2CPP binaries

CGNU Affero General Public License v3.0il2cppmetadata
djkaty.com
3k560
SamboyCoding/Cpp2IL

Work-in-progress tool to reverse unity's IL2CPP toolchain.

C#MIT Licenseil2cpp-metadataanalysis
2.5k316
tuyoogame/huatuo

huatuo是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生c#热更方案。 Huatuo is a fully featured, zero-cost, high-performance, low-memory solution for Unity's all-platform native c# hotfix

C++MIT Licenseunityhotfix
2.3k383
vfsfitvnm/frida-il2cpp-bridge

A Frida module to dump, trace or hijack any IL2CPP application at runtime, without needing the global-metadata.dat file

TypeScriptnpmMIT Licensefridail2cpp
github.com/vfsfitvnm/frida-il2cpp-bridge/wiki
1.7k301
jacksondunstan/UnityNativeScripting

Unity Scripting in C++

C#MIT Licenseunity3dunity3d-script
jacksondunstan.com/articles/3938
1.4k135
Misaka-Mikoto-Tech/MonoHook

hook C# method at runtime without modify dll file (such as UnityEditor.dll), works on Windows, Mac, Android il2cpp(armv7a and armv8a)

C#MIT Licenseunityhook
1.1k188
KumoKyaku/kcp

KCP C#版。线程安全,运行时无alloc,对gc无压力。

C#MIT Licensekcpunity
1k154