mirror of
https://github.com/Perfare/Il2CppDumper.git
synced 2025-01-10 03:27:28 -03:00
2.7 KiB
2.7 KiB
Il2CppDumper
Unity il2cpp逆向工程
功能
- 还原DLL文件(不包含代码),可用于提取
MonoBehaviour
和MonoScript
- 支持ELF, ELF64, Mach-O, PE和NSO格式
- 支持Unity 5.3 - 2020
- 生成IDA和Ghidra的脚本,帮助IDA和Ghidra更好的分析il2cpp文件
- 支持从内存dump的
libil2cpp.so
文件以绕过99%的保护
使用说明
直接运行Il2CppDumper.exe并依次选择il2cpp的可执行文件和global-metadata.dat文件,然后根据提示输入相应信息。
程序运行完成后将在当前运行目录下生成输出文件
命令行
Il2CppDumper.exe <executable-file> <global-metadata>
输出文件
DummyDll
文件夹,包含所有还原的DLL文件
使用dnSpy,ILSpy或者其他.Net反编译工具即可查看具体信息
可用于提取Unity的MonoBehaviour
和MonoScript
,适用于UtinyRipper或者UABE等
ida.py
用于IDA
ghidra.py
用于Ghidra
script.json
用于IDA和Ghidra脚本
stringliteral.json
包含所有stringLiteral信息
关于config.json
-
DumpMethod
,DumpField
,DumpProperty
,DumpAttribute
,DumpFieldOffset
,DumpMethodOffset
,DumpTypeDefIndex
- 是否在dump.cs输出相应的内容
-
DummyDll
- 是否生成DummyDll
-
MakeFunction
- 是否在script.json中添加MakeFunction代码
-
ForceIl2CppVersion
,ForceVersion
- 当ForceIl2CppVersion为true时,程序将根据ForceVersion指定的版本读取il2cpp的可执行文件(Metadata仍然使用header里的版本),在部分低版本的il2cpp中可能会用到(比如安卓20版本下,你可能需要设置ForceVersion为16程序才能正常工作)
常见问题
ERROR: Metadata file supplied is not valid metadata file.
global-metadata.dat已被加密。关于解密的问题请去相关破解论坛寻求帮助,请不要在issues提问!
ERROR: Can't use auto mode to process file, try manual mode.
确认可执行文件未受保护后,你可以打开一个新的issue,并上传文件,我会尝试解决
ERROR: This file may be protected.
Il2CppDumper检测到可执行文件已被保护,使用GameGuardian
从游戏内存中dump libil2cpp.so
,然后使用Il2CppDumper载入按提示操作,即可绕过99%的保护
感谢
- Jumboperson - Il2CppDumper