This guide is based on this guide by Wanghzo (sections 1-4) and this guide by IroniaTheMaster (section 5), which itself is based on this guide by koo00
The guide was changed to use Ghidra instead of IDA Pro and the script was modified accordingly
This guide was only tested on Linux
Warning: this was only tested on an arm64 device
libil2cpp.so
in the lib directory
libil2cpp.so
global-metadata.dat
s_global-metadata.dat...
)
bl
instruction after the selected one
FUN_0074e9b4
)
0074e9b4
)
Value
in
0xValue
on line 9 with the numbers you got earlier
frida -Uf com.game.package.name -l ./script.js
Address : ...
global-metadata.dat
in it, and should start with
O: numbers1-numbers2 r--s ...
numbers2
numbers2
into the "To:" input box
adb shell "cat /storage/emulated/0/dump/*.bin" > global-metadata.dat
libil2cpp.so
in
lib
decomp
folder
Il2CppDumper path/to/libil2cpp.so path/to/global-metadata.dat decomp
decomp
python3 path/to/Il2CppDumper/il2cpp_header_to_ghidra.py
libil2cpp.so
decomp/il2cpp_ghidra.h
to the "Source Files to Parse" section
path/to/Il2CppDumper
ghidra_with_struct.py
script
script.json
from the
decomp
folder