Coder Social home page Coder Social logo

il2cppinspector's Introduction

Il2CppInspector

Extract types, methods, properties and fields from Unity IL2CPP binaries.

  • Supports ELF (Android .so), PE (Windows .exe), Mach-O (Apple iOS/Mac) and Universal Binary (Fat Mach-O) file formats
  • Supports ARMv7, ARMv7 Thumb T1 and x86 architectures regardless of file format
  • Supports metadata versions 21, 22, 23 and 24
  • No manual reverse-engineering required; all data is calculated automatically
  • Syntax support for enumerations, events and delegates
  • Il2CppInspector re-usable class library for low-level access to IL2CPP binaries and metadata
  • Il2CppReflector re-usable class library for high-level .NET Reflection-style access to IL2CPP types and data as a tree model

Class library targets .NET Standard 1.5. Application targets .NET Core 2.0. Built with Visual Studio 2017.

Build instructions

git clone --recursive https://github.com/djkaty/Il2CppInspector
cd Il2CppInspector
dotnet restore -r win7-x86
dotnet publish -c Release -r win7-x86

This will build Il2CppInspector for Windows 7 and later. For MacOS and Linux, replace win7-x86 with a RID from https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog

The output binary is placed in Il2CppInspector/Il2CppDumper/bin/Release/netstandard1.6/win7-x86/publish.

Usage

Il2CppDumper [<binary-file> [<metadata-file> [<output-file>]]]

Defaults if not specified:

  • binary-file - searches for libil2cpp.so and GameAssembly.dll
  • metadata-file - global-metadata.dat
  • output-file - types.cs

File format and architecture are automatically detected.

For Apple Universal Binaries, multiple output files will be generated, with each filename suffixed by the index of the image in the Universal Binary. Unsupported images will be skipped.

64-bit binaries

Il2CppInspector does not currently support 64-bit IL2CPP binaries. 64-bit Mach-O files will be parsed without crashing but there is currently no support for 64-bit CPU architectures so automatic inspection will fail.

Problems

If you have files that don't work or are in an unsupported format, please open a new issue on GitHub and attach a sample with details on the file format, and I'll try to add support.

Acknowledgements

Thanks to the following individuals whose code and research helped me develop this tool:

This tool uses Perfare's Il2CppDumper code as a base.

License

All rights reserved. Unauthorized use, re-use or the creation of derivative works of this code for commercial purposes whether directly or indirectly is strictly prohibited. Use, re-use or the creation of derivative works for non-commercial purposes is expressly permitted.

il2cppinspector's People

Contributors

djkaty avatar enyby avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.