Skip to content

unionnx/il2cppDumper-Termux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

Il2CppDumper - Termux Setup and Usage Guide

What This Does

Il2CppDumper reads two files from a Unity game:

  • libil2cpp.so — the compiled game code
  • global-metadata.dat — the metadata that names all classes, methods, and fields

It produces a dump.cs file containing all class and method names with their memory offsets, which you can use for reverse engineering.


Part 1 — Install Required Tools in Termux

Step 1 — Install Termux

Download Termux from F-Droid. Do not use the Play Store version, it is outdated. F-Droid link: https://f-droid.org/packages/com.termux/

Step 2 — Update Termux packages

Open Termux and run:

pkg update && pkg upgrade

Step 3 — Install proot-distro

pkg install proot-distro

Step 4 — Install Ubuntu inside Termux

proot-distro install ubuntu

This downloads a full Ubuntu environment. It may take a few minutes depending on your connection.

Step 5 — Enter Ubuntu

proot-distro login ubuntu

You are now inside Ubuntu. All following commands run here.

Step 6 — Install Mono inside Ubuntu

apt-get update
apt-get install -y mono-complete

This installs the Mono runtime, which is required to run the dumper.


Part 2 — Set Up the Dumper

Step 1 — Copy the runner folder to your device

Place the Il2CppDumper folder somewhere accessible, for example:

/sdcard/Il2CppDumper/

The folder must contain these files:

Il2CppDumper.exe
Mono.Cecil.dll
Il2CppDummyDll.dll
config.json
run.sh

Step 2 — Enter Ubuntu and go to the folder

proot-distro login ubuntu
cd /sdcard/Il2CppDumper

Part 3 — Find the Game Files

For Free Fire, the files are located at:

/sdcard/Android/data/com.dts.freefireth/files/

or for the MAX version:

/sdcard/Android/data/com.dts.freefiremax/files/

The files you need:

  • libil2cpp.so — usually inside a folder like il2cpp/ or lib/arm64-v8a/
  • global-metadata.dat — usually inside Metadata/

To find them:

find /sdcard/Android/data/com.dts.freefireth -name "libil2cpp.so" 2>/dev/null
find /sdcard/Android/data/com.dts.freefireth -name "global-metadata.dat" 2>/dev/null

Part 4 — Run the Dumper

Inside Ubuntu, go to the dumper folder and run:

bash run.sh /path/to/libil2cpp.so /path/to/global-metadata.dat

Example with actual Free Fire paths:

bash run.sh \
  /sdcard/Android/data/com.dts.freefireth/files/il2cpp/libil2cpp.so \
  /sdcard/Android/data/com.dts.freefireth/files/Metadata/global-metadata.dat

The output will be saved in the output/ folder inside the dumper directory.


Part 5 — Output Files

After the dump completes, you will find these files in the output/ folder:

File Description
dump.cs All class and method names with offsets
script.json Method addresses in JSON format
stringliteral.json All string literals with addresses
il2cpp.h C header file with struct definitions
DummyDll/ Folder containing fake DLL assemblies

The most useful file is dump.cs. Open it and search for the method or class you want to find.


Quick Reference

Enter Ubuntu each session:

proot-distro login ubuntu

Run the dumper:

cd /sdcard/Il2CppDumper
bash run.sh <libil2cpp.so> <global-metadata.dat>

Troubleshooting

"mono: command not found" You are not inside Ubuntu. Run proot-distro login ubuntu first.

"Error: il2cpp file not found" Check the path to your libil2cpp.so. Use find as shown above to locate it.

"ERROR: Metadata file not found or encrypted" The global-metadata.dat may be encrypted by the game. This version of the dumper handles standard Free Fire metadata. If it is encrypted, you need a separate decryption step first.

"Searching... ERROR: Can't use auto mode" The dumper will ask you to enter CodeRegistration and MetadataRegistration addresses manually. These must be found separately using a disassembler.

Permission denied on /sdcard/ In Termux, run termux-setup-storage once to grant storage access.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages