Skip to content

Latest commit

 

History

History
92 lines (52 loc) · 2.86 KB

README.zh-CN.md

File metadata and controls

92 lines (52 loc) · 2.86 KB

Il2CppDumper

Build status

Unity il2cpp逆向工程

功能

  • 还原DLL文件(不包含代码),可用于提取MonoBehaviourMonoScript
  • 支持ELF, ELF64, Mach-O, PE, NSO和WASM格式
  • 支持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文件

使用dnSpyILSpy或者其他.Net反编译工具即可查看具体信息

可用于提取Unity的MonoBehaviourMonoScript,适用于UtinyRipper或者UABE

ida.py

用于IDA

ida_with_struct.py

用于IDA, 读取il2cpp.h文件并在IDA中应用结构信息

il2cpp.h

包含结构体的头文件

ghidra.py

用于Ghidra

script.json

用于IDA和Ghidra脚本

stringliteral.json

包含所有stringLiteral信息

关于config.json

  • DumpMethodDumpFieldDumpPropertyDumpAttributeDumpFieldOffset, DumpMethodOffset, DumpTypeDefIndex

    • 是否在dump.cs输出相应的内容
  • DummyDll

    • 是否生成DummyDll
  • MakeFunction

    • 是否在script.json中添加MakeFunction代码
  • ForceIl2CppVersionForceVersion

    • 当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%的保护

感谢