IL2CppDumper written in C++
This project is a small toy I wrote when I understood the principle of unity's il2cpp. Since IL2CppDumper was developed in C#, it does not support macOS and Linux. il2cpp itself was also developed in C++. For convenience, I chose to use C++ to develop it. It is the only one. A cross-platform il2cpp dump tool. Currently, the tool supports il2cpp version 24.0/24.1, and it is not difficult to transplant other versions. Currently, it supports Android and iOS 64-bit executable files, and 32-bit needs to be compiled by yourself. The project has spent a lot of time and energy on development and maintenance. If it is helpful, please remember to give me a little star, enjoy~ ([email protected])
2020-06-01 update
As introduced before, this project is just a small toy and will no longer be maintained. Since most existing games undergo reinforcement operations, static dump tools are not universal. It has now switched to dynamic il2cpp dump, which can currently bypass all game reinforcements on the market. It supports unity5.x-unity2020 version, Android/iOS, arm/arm64, supports C# symbol dump and ida script generation, and its capabilities are benchmarked against the Il2CppDumper project. Because of this, the project will not be open source. If you want to make a similar dynamic dump tool, this toy project is still a good reference. (X!A0@2020)
__ _____ _ ____ ____ ____
/ /_ _| | |___ / ___|_ __ _ __ | _ _ _ _ __ ___ _ __ ___ _ __
/ | || | __) | | | '_ | '_ | | | | | | | '_ ` _ | '_ / _ '__|
/ | || |___ / __/| |___| |_) | |_) | |_| | |_| | | | | | | |_) | __/ |
/_/____|_____|_____|____| .__/| .__/|____/ __,_|_| |_| |_| .__/ ___|_|
|_| |_| |_|
+--------------------------------------------------------------------------------------+
| XIL2CppDumper | a tool of C++ version IL2CppDumper made by xia0@2019 |
+--------------------------------------------------------------------------------------+
| Info | version: 0.2 support: iOS[arm64] Android[arm64] il2cpp[24.1/24.0] |
+--------------------------------------------------------------------------------------+
| Usage | XIL2CppDumper unity_metadata_file_path il2cpp_so_or_macho_file_path |
+--------------------------------------------------------------------------------------+
| Blog | http://4ch12dy.site |
+--------------------------------------------------------------------------------------+
| Github | https://github.com/4ch12dy |
+--------------------------------------------------------------------------------------+
| Specail thanks to Perfare's Il2CppDumper:https://github.com/Perfare/Il2CppDumper |
+--------------------------------------------------------------------------------------+
Complete DLL restore (except code)
Supports (ELF) ELF64, MachO64 format
Supports Unity all version theoretically (test on unity3d(2017-2019))
Supports automated IDA script generation
Default use Clion to compile it to x64 progam.
For android arm32 libil2cpp.so, It need compile to x86 binary for the same il2cpp header files.
dump.cs
dump C# all types and address
script.py
ida python script to restore symbol
Perfare - Il2CppDumper
nevermoe - [unity_metadata_loader](