djkaty/Il2CppInspector logo

djkaty/Il2CppInspector

Free

Powerful automated tool for reverse engineering Unity IL2CPP binaries

FreeFree tier
Type
Open Source

About djkaty/Il2CppInspector

Il2CppInspector is an open-source tool for reverse engineering Unity IL2CPP applications. It provides comprehensive analysis, including output of type definitions, metadata, and method pointers as C# stub code; creation of .NET assembly shim DLLs for use in decompilers like ILSpy and dnSpy; C++ scaffolding for types, methods, and API functions; IDA and Ghidra Python scripts for populating symbol and type information; Visual Studio C++ DLL injection and C# code stub projects; JSON metadata with complete address maps; and the ability to generate IL2CPP binaries from arbitrary C# source code without a Unity project. It features three major APIs for custom static analysis, a plugin SDK for extending capabilities, and the ability to defeat certain types of obfuscation such as packed PE files, ROT encryption, Beebyte symbol obfuscation, and XOR encryption styles. Development of the tool is currently suspended, with no active maintenance or issue/PR responses.

Key Features

Outputs IL2CPP type definitions, metadata, and method pointers as C# stub code
Creates .NET assembly shim DLLs for use in decompilers (ILSpy, dnSpy) and asset loaders
Generates C++ scaffolding for all types, methods, function pointers, and API functions
Produces IDA and Ghidra Python scripts to populate symbol, function, and type information
Creates Visual Studio C++ DLL injection projects and C# code stub solutions from IL2CPP files
Exports JSON metadata with a complete address map
Generates IL2CPP binaries from arbitrary C# source code without a Unity project
Three major APIs (low-level binary metadata, .NET type model, C++ application) for custom static analysis, available as NuGet packages
Plugin SDK allows creating custom plugins to extend capabilities
Defeats certain obfuscation: packed PE files, ROT encryption of API exports, Beebyte symbol obfuscation via differential analysis, XOR encryption (e.g., Arknights, Call of Duty: Mobile), striped XOR encryption

Pros & Cons

Pros
  • Open-source and free to use
  • Comprehensive output formats (C#, C++, Python, JSON, Visual Studio projects)
  • Defeats multiple types of obfuscation
  • Plugin SDK for extensibility
  • Three well-documented APIs for custom tooling
  • Supports creation of IL2CPP binaries from arbitrary C# source code without Unity
Cons
  • Development is suspended; no active maintenance or updates
  • No support for issues or pull requests; recommended alternative is Cpp2IL
  • Limited to Unity IL2CPP applications (not Mono or other runtimes)
  • Documentation may be incomplete or outdated due to halted development

Best For

Reverse engineering Unity games using IL2CPPGame modding and custom tool developmentSecurity analysis and malware detection in Unity applicationsStatic analysis of IL2CPP binaries for research or educationIntegration with decompilers and disassemblers (IDA, Ghidra, dnSpy, ILSpy)Automated creation of injection projects for debugging or modification

FAQ

What is Il2CppInspector?
Il2CppInspector is an open-source tool for reverse engineering Unity IL2CPP binaries, providing analysis and output in multiple formats such as C# stub code, .NET shim DLLs, C++ scaffolding, IDA/Ghidra scripts, JSON metadata, and Visual Studio projects.
Is Il2CppInspector still actively developed?
No, development is suspended as of the latest release (2021.1). The author cites health and personal reasons and will not respond to issues or pull requests. Users are directed to the alternative project Cpp2IL for ongoing IL2CPP tooling.
What types of obfuscation can Il2CppInspector defeat?
It can defeat packed PE files (Windows DLLs), ROT encryption of API export names, Beebyte symbol obfuscation via differential analysis, and XOR encryption styles used in games like Arknights and Call of Duty: Mobile, including striped XOR encryption.
What output formats does Il2CppInspector support?
It supports C# stub code, .NET assembly shim DLLs, C++ scaffolding, IDA Python and Ghidra Python scripts, Visual Studio C++ DLL injection projects, Visual Studio C# code stub solutions, JSON metadata with address maps, and direct generation of IL2CPP binaries from C# source.