Modding Tools Il2CppDumper GUI Tool

AndnixSH

Security Detective
Staff member
Modding-Team
Jun 27, 2017
582
54,583
1,193
Denmark
162192

Changelog:
1.1.4 (2019-09-11)
- Updated to Il2CppDumper 4.6.0 with Unity 2019 support for Auto dump plus
- Fix IPA auto dump issues. Sorry it was messed up after adding split APK support
- Added 1px border window to avoid confusion with other windows with dark theme
- Added dumped il2cpp detection support. I'm not sure how it works to be honest, I just add what's available in the dumper

Requirements:
- Net Framework 4
- Windows 7 and above

Features:
  • Supports il2cpp binaries in ELF(arm, x86) and Mach-O(32bit, 64bit) format
  • Supports global-metadata version 16 and 20-24
  • Extracts .NET metadata including types, fields, properties, methods and attributes
  • Supports automated IDA script generation
    • name and tag methods
    • store dynamic string literals in comments
    • makefunction to improve ida analysis
  • Generates dummy DLLs that can be viewed in .NET decompilers
GUI Features:
· Select files
· Rename files
· Set output directory.
· Set mode.
· Set registration offsets
· Auto fill up offset registrations after dump
· Drag and drop support
· Remember everything except registrations
· Logs saves on exit. It saves on your documents if tool is located in C drive.
· Support open APK with Il2CppDumper to start dump automation

Download:




How to use:
This works as same as original Il2CppDumper but with GUI.

For Android: Simply drop APK to start dump automation or extract libil2cpp.so file from ARM or x86 folder (Android). Extract global-metadata.dat from \Data\Managed\Metadata\

For iOS: Open IPA as 7-zip or Winrar and extract binary file that does not have a file extension and open as binary file. Extract global-metadata.dat from \Data\Managed\Metadata\

For PC: Open GameAssembly.dll as binary file and open global-metadata.dat from [Game name]\il2cpp_data\Metadata

Nintendo Switch: Open NSO file as binary file i guess? sorry, I'm not familar with it.

Set your output directory

Rename the files if you want

Select your mode. If manual set, you need to imput offsets you found in the binary file.

Press START when you are ready

Extraction Modes
Manual

The parameters (CodeRegistration and MetadataRegistration) that are passed to il2cpp::vm::MetadataCache::Register()needs to be manually reverse engineered and passed to the program.

Auto
Automatically finds the il2cpp_codegen_register() function by signature matching and read out the first (CodeRegistration) and second (MetadataRegistration) parameter passed to the il2cpp::vm::MetadataCache::Register() method that will be invoked in the registration function. May not work well due to compiler optimizations.

Auto(Advanced)
Matches possible pointers in the data section. Generally works better than Auto mode.

Supports metadata version 20 and later (only CodeRegistration address can be found on metadata version 16).

Auto(Plus) - Recommended
Matches possible pointers in the data section with some guidance from global-metadata. Works better than Auto(Advanced)mode on certain binaries.

Supports metadata version 20 and later (only CodeRegistration address can be found on metadata version 16).

Auto(Symbol)
Uses symbols in the il2cpp binary to locate CodeRegistration and MetadataRegistration.

Only supports certain Android ELF files.

Output files
dump.cs

C# pseudocode. Can be viewed in text editors (syntax highlighting recommended)

script.py
Requires IDA and IDAPython. Can be loaded in IDA via File -> Script file.

DummyDll
DLLs generated by Mono.Cecil which contain the .NET metadata extracted from the binary (no code included). Can be viewed in .NET decompilers.

Configuration
All the configuration options are located in config.json Available options:
  • DumpMethod, DumpField, DumpProperty, DumpAttribute, DumpFieldOffset
    • Whether or not the program should extract these information
  • DummyDll
    • Whether or not the program should generate dummy DLLs
  • 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 ilcpp v20 (Android) binaries in order to work properly)
Common errors
ERROR: Metadata file supplied is not valid metadata file.

The specified global-metadata.dat is invalid and the program cannot recognize it. 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.

ERROR: Can't use this mode to process file, try another mode.
Try other extraction modes.

WARNING: Version 16 can only get CodeRegistration
Use the CodeRegistration information to get the MetadataRegistration, then use the manual mode to process the file.

If all automated extraction modes failed with this error and you are sure that the files you supplied are not corrupted/obfuscated, please file an issue with the logs and sample files.

Credits:
Perfare: GitHub - Perfare/Il2CppDumper: Get types, methods, fields and so on from Unity Il2Cpp binary file
AndnixSH# (GUI)
 

Attachments

Last edited:

AkileshXD

Member
Oct 3, 2017
1
0
1
17
Hey @iAndroHacker very cool app . I used it as it is very easy to use:face47:.Just one question:-I have dump a game but that game does not contain .dll files , in your dumper it convert maybe the cpp to .dll file :face48:.Like your tutorial of your mod menu via dnspy , does it exist a way to implement that platinmods mod menu in the game as it does not contain .dll file amd you say that the dumped cpp files can't be added in game.So i wanted to ask you this.Is it possible?
Please respond me as quick as possible bro:face54:
 

AndnixSH

Security Detective
Staff member
Modding-Team
Jun 27, 2017
582
54,583
1,193
Denmark
@AkileshXD you can make mod menu in il2cpp games but need java, smali and c++ programming skils. and that's something i do not know yet.
 

Mr Ikso

Rooted Member
Dec 6, 2017
42
27
18
Ukraine
Hi, I found one bug here. In 1.0.5, some methods will dump something wrong, in 1.0.4 there are none. Can you please link to the old version 1.0.4
An example of the current dump
private ); // 0x10729C0
private ); // 0x1072A88
private ); // 0x1072A90
private ); // 0x1072A94
 

AndnixSH

Security Detective
Staff member
Modding-Team
Jun 27, 2017
582
54,583
1,193
Denmark
Hi, I found one bug here. In 1.0.5, some methods will dump something wrong, in 1.0.4 there are none. Can you please link to the old version 1.0.4
An example of the current dump
private ); // 0x10729C0
private ); // 0x1072A88
private ); // 0x1072A90
private ); // 0x1072A94
That's wierd, i'll check it what's wrong
I have updated 1.0.4, visit the same download links
 

Mr Ikso

Rooted Member
Dec 6, 2017
42
27
18
Ukraine
@AndnixSH, right now there is a manual input method for the version of the unity. I also want an automatic mode, in which the version of the unity we know from the selected game asset
 

AndnixSH

Security Detective
Staff member
Modding-Team
Jun 27, 2017
582
54,583
1,193
Denmark
@AndnixSH, right now there is a manual input method for the version of the unity. I also want an automatic mode, in which the version of the unity we know from the selected game asset
You can try drop any asset file without file extension, .split0, .assets unity_builtin_extra, unity default resources, etc.
 
Thread starter Similar threads Forum Replies Date
TryRoom ANDROID APPS 2
youssefvisto ANDROID APPS 7
youssefvisto ANDROID APPS 2
youssefvisto [Android Apps] Older Versions 7
TryRoom ANDROID APPS 0
youssefvisto [Android Apps] Older Versions 12
youssefvisto ANDROID APPS 5
youssefvisto ANDROID APPS 5
youssefvisto [Android Apps] Older Versions 6
youssefvisto [Android Apps] Older Versions 0
youssefvisto ANDROID APPS 0
youssefvisto [Android Apps] Older Versions 1
AndnixSH Tools 1
AndnixSH TUTORIALS 1
AndnixSH Tools 10

About us

  • Welcome to platinmods.com! We are proud to present you the place which let's dreams come true! Focusing on quality and trust we have spend much time to build a gaming community fitting to your wishes and needs. Actually we offer you the finest MODs and Games of the Android section and we slowly expand to the iOS section as well. But games, Android MODs & iOS MODs are not the only things we can offer you. We have tutorials, tools, a very friendly, active and solid community which will help you with any problem you have =) Your happiness is our goal. We hope you enjoy!
  • Feel free to follow us on facebook as well =)

Forum statistics

Threads
25,265
Messages
461,838
Members
594,703
Latest member
Hanhnv