vmx7/rust_pdb

GitHub: vmx7/rust_pdb

一个用 Rust 实现的自包含 il2cpp 到 Windows PDB 转换器,无需任何外部工具即可从 Unity il2cpp 游戏生成调试符号文件。

Stars: 40 | Forks: 0

## rust_pdb - 自包含的 il2cpp 到 Windows PDB 转换器 无需任何外部工具,即可从 Unity il2cpp 游戏生成 Windows PDB。它读取 GameAssembly.dll 和 global-metadata.dat(两者均随游戏发布),在本地提取 il2cpp 元数据(类型、方法、签名、il2cpp.h)并从零开始写入 pdb:包含 MSF 容器以及 TPI / DBI / GSI / PSI 流。无需编译器, 无需链接器,无需 il2cppdumper。仅限 x64 PE(元数据 v39,例如 Rust)。 构建(Visual Studio 2022,x64 Release): msbuild rust_pdb.sln -p:Configuration=Release -p:Platform=x64 运行: x64\Release\rust_pdb.exe x64\Release\rust_pdb.exe [out.pdb] 在不带任何参数的情况下,它会自动检测 Steam 上的 Rust 安装路径(GameAssembly.dll 以及 RustClient_Data\il2cpp_data\Metadata\global-metadata.dat),并将 PDB 写入到 该 DLL 旁边。在输入相同的情况下,其输出与参考的 native writer 逐字节一致(相同的 SHA256)。 处理流水线(均在进程内执行): metadata global-metadata.dat 解析器 (v39) il2cpp_binary PE 解析、注册发现、方法指针、RGCTX executor 类型和方法名称、C 类型签名 struct_gen il2cpp.h(字段、虚函数表、RGCTX、静态变量、数组、枚举) pdb writer il2cpp.h -> TPI 记录、进程和数据符号、MSF + 流 参考: LLVM PDB 文件格式文档、microsoft-pdb 参考仓库 perfare/il2cppdumper(元数据布局和结构体生成参考)
标签:IL2CPP, macOS, PDB生成器, Rust, Unity, 云资产清单, 可视化界面, 网络流量审计, 逆向工程