README.zh-CN.md
Unity il2cpp逆向工程
MonoBehaviour和MonoScriptlibil2cpp.so文件以绕过保护直接运行Il2CppDumper.exe并依次选择il2cpp的可执行文件和global-metadata.dat文件,然后根据提示输入相应信息。
程序运行完成后将在当前运行目录下生成输出文件
Il2CppDumper.exe <executable-file> <global-metadata> <output-directory>
文件夹,包含所有还原的DLL文件
使用dnSpy,ILSpy或者其他.Net反编译工具即可查看具体信息
可用于提取Unity的MonoBehaviour和MonoScript,适用于UtinyRipper或者UABE等
用于IDA
用于IDA, 读取il2cpp.h文件并在IDA中应用结构信息
包含结构体的头文件
用于Ghidra
用于BinaryNinja
用于Ghidra, 和ghidra-wasm-plugin一起工作
用于IDA和Ghidra脚本
包含所有stringLiteral信息
DumpMethod,DumpField,DumpProperty,DumpAttribute,DumpFieldOffset, DumpMethodOffset, DumpTypeDefIndex
GenerateDummyDll,GenerateScript
DummyDllAddToken
RequireAnyKey
ForceIl2CppVersion,ForceVersion
true时,程序将根据ForceVersion指定的版本读取il2cpp的可执行文件(Metadata仍然使用header里的版本),在部分低版本的il2cpp中可能会用到(比如安卓20版本下,你可能需要设置ForceVersion为16程序才能正常工作)ForceDump
NoRedirectedPointer
trueERROR: Metadata file supplied is not valid metadata file.global-metadata.dat已被加密。关于解密的问题请去相关破解论坛寻求帮助,请不要在issues提问!
如果你的文件是libil2cpp.so并且你拥有一台已root的安卓手机,你可以尝试我的另一个项目Zygisk-Il2CppDumper,它能够无视global-metadata.dat加密
ERROR: Can't use auto mode to process file, try manual mode.请注意PC平台的可执行文件是GameAssembly.dll或者*Assembly.dll
你可以打开一个新的issue,并上传文件,我会尝试解决
ERROR: This file may be protected.Il2CppDumper检测到可执行文件已被保护,使用GameGuardian从游戏内存中dump libil2cpp.so,然后使用Il2CppDumper载入按提示操作,可绕过大部分保护
如果你拥有一台已root的安卓手机,你可以尝试我的另一个项目Zygisk-Il2CppDumper,它能够绕过几乎所有保护