Il2CppDumper 项目使用教程

Il2CppDumper 项目使用教程

Il2CppDumperUnity il2cpp reverse engineer项目地址:https://gitcode.com/gh_mirrors/il/Il2CppDumper

1. 项目的目录结构及介绍

Il2CppDumper 项目的目录结构如下:

Il2CppDumper/
├── Il2CppDumper.exe
├── config.json
├── README.md
├── scripts/
│   ├── ida.py
│   ├── ghidra.py
│   └── ...
├── DummyDll/
│   ├── Assembly-CSharp.dll
│   └── ...
└── ...

目录结构介绍

  • Il2CppDumper.exe: 项目的可执行文件,用于启动 Il2CppDumper。
  • config.json: 项目的配置文件,包含各种配置选项。
  • README.md: 项目的说明文档,包含项目的基本介绍和使用方法。
  • scripts/: 包含用于 IDA 和 Ghidra 的脚本文件。
  • DummyDll/: 包含还原后的 DLL 文件。

2. 项目的启动文件介绍

项目的启动文件是 Il2CppDumper.exe。使用方法如下:

  1. 运行 Il2CppDumper.exe
  2. 选择 il2cpp 可执行文件和 global-metadata.dat 文件。
  3. 根据提示输入所需信息。
  4. 程序将生成所有输出文件在当前工作目录。

3. 项目的配置文件介绍

项目的配置文件是 config.json,包含以下配置选项:

{
  "DumpMethod": true,
  "DumpField": true,
  "DumpProperty": true,
  "DumpAttribute": true,
  "DumpFieldOffset": true,
  "DumpMethodOffset": true,
  "DumpTypeDefIndex": true,
  "GenerateDummyDll": true,
  "GenerateScript": true,
  "DummyDllAddToken": true,
  "RequireAnyKey": true,
  "ForceIl2CppVersion": false,
  "ForceVersion": "2017.4.39"
}

配置选项介绍

  • DumpMethod: 是否输出方法信息。
  • DumpField: 是否输出字段信息。
  • DumpProperty: 是否输出属性信息。
  • DumpAttribute: 是否输出属性信息。
  • DumpFieldOffset: 是否输出字段偏移信息。
  • DumpMethodOffset: 是否输出方法偏移信息。
  • DumpTypeDefIndex: 是否输出类型定义索引信息。
  • GenerateDummyDll: 是否生成 Dummy DLL 文件。
  • GenerateScript: 是否生成脚本文件。
  • DummyDllAddToken: 是否在 Dummy DLL 中添加 Token。
  • RequireAnyKey: 是否在程序结束时按任意键退出。
  • ForceIl2CppVersion: 是否强制使用指定的 il2cpp 版本。
  • ForceVersion: 指定的 il2cpp 版本号。

以上是 Il2CppDumper 项目的使用教程,希望对您有所帮助。

Il2CppDumperUnity il2cpp reverse engineer项目地址:https://gitcode.com/gh_mirrors/il/Il2CppDumper

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当我们使用 Unity 引擎开发游戏时,会使用 C# 语言编写游戏逻辑代码,而这些代码最终需要通过 Unity 引擎转换为原生代码才能在目标平台上运行。在这个过程中,Unity 引擎将 C# 代码编译为 IL(Intermediate Language)代码,并使用 Mono 运行时环境来执行这些 IL 代码。而当我们使用 IL2CPP 模式进行构建时,Unity 引擎将 IL 代码转换为 C++ 代码,并使用目标平台的 C++ 编译器将其编译为原生代码。 在 IL2CPP 模式下,Unity 引擎会使用 global-metadata.dat 文件来存储游戏中的元数据信息。而 Il2CppDumper 工具就是通过解析 global-metadata.dat 文件,来获取游戏中的类型和成员信息,并将其转换为可阅读的 C++ 代码。具体来说,Il2CppDumper 工具的解析流程如下: 1. 读取 global-metadata.dat 文件,并解析出各个表的大小和偏移量等信息。 2. 解析 TypeDefinition 表,获取游戏中所有的类型信息,包括类型的名称、基类、实现的接口、字段、属性、方法等信息。 3. 解析 FieldDefinition 表,获取游戏中所有的字段信息,包括字段的名称、类型、偏移量等信息。 4. 解析 MethodDefinition 表,获取游戏中所有的方法信息,包括方法的名称、参数列表、返回值类型、代码块等信息。 5. 将获取到的所有信息转换为 C++ 代码,并输出到指定的文件中。 需要注意的是,Il2CppDumper 工具只能用于解析 Unity 引擎使用 IL2CPP 模式构建的游戏,对于使用 Mono 运行时环境构建的游戏则无法解析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨元诚Seymour

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值