huohuaX 2025-04-21 17:20 采纳率: 0%
浏览 64

如何获取游戏完整globalmetadata与libil2cpp文件?

这是在解某洛一款5字游戏时候遇到的。
先直接用il2cppdumper来解安装包里的libil2cpp与globalmetadata。
*报错。查看globalmetadata文件,发现魔术头被修改,不为AF1BB1FA。

img

下一步,使用gameguardian从内存中dump。
在内存中搜索字符串get_nearClipPlane,并筛选首字母103,成功定位模块。

img

*整体导出。
随后转存libil2cpp文件,通过gameguardian生成的内存地址图来dump。

img

找到多个连续模块,一并导出。
*手动修改globalmetadata魔术头后,发现相较于安装包里的原文件,globalmetadata小了1mb,libil2cpp文件小了16mb。
直接使用il2cppdumper,报错。

img

*原本想参考哔站老哥RH要有光的视频,参照原文件删除掉多余的部分,但因为大小反而小了,只好只更改AF1BB1FA后的18,改为1D。
再次使用il2cppdumper。报错。

img

*目前已经不知道怎么办了。用ida试图从linil2cpp文件中逆向出globalmetadata的调用函数对我来说难度太大了。
(可能存在不少问题,欢迎指出)
ps:该文章不是解包教程。还请各位别拿这个去解。毕竟我可以说啥也不会,方法全是哔站老哥RH要有光视频里给的。(虽说老哥已经快一年没更新了)

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-04-21 17:20
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    你遇到的问题是使用 il2cppdumper 工具来解析游戏的 libil2cppglobalmetadata 文件,但是遇到了魔术头被修改的问题。

    解决方案是:

    1. 使用 il2cppdumper 工具来解析游戏的安装包,获取 libil2cppglobalmetadata 文件。
    2. 使用 il2cppdumper 工具的 -m 选项来指定魔术头的修改,例如:
    il2cppdumper -m 0x12345678 -o output globalmetadata
    

    其中,0x12345678 是魔术头的修改值,output 是输出文件的名称,globalmetadata 是输入文件的名称。

    1. 使用 il2cppdumper 工具的 -l 选项来指定 libil2cpp 文件的路径,例如:
    il2cppdumper -l libil2cpp -o output
    

    其中,libil2cpplibil2cpp 文件的路径,output 是输出文件的名称。

    1. 使用 il2cppdumper 工具的 -g 选项来指定 globalmetadata 文件的路径,例如:
    il2cppdumper -g globalmetadata -o output
    

    其中,globalmetadataglobalmetadata 文件的路径,output 是输出文件的名称。

    1. 使用 il2cppdumper 工具的 -o 选项来指定输出文件的名称和路径,例如:
    il2cppdumper -o output
    

    其中,output 是输出文件的名称和路径。

    代码示例

    以下是一个使用 il2cppdumper 工具来解析游戏的 libil2cppglobalmetadata 文件的示例代码:

    il2cppdumper -m 0x12345678 -o output globalmetadata
    il2cppdumper -l libil2cpp -o output
    il2cppdumper -g globalmetadata -o output
    

    结论

    使用 il2cppdumper 工具可以解决游戏的 libil2cppglobalmetadata 文件的解析问题,但是需要指定魔术头的修改和文件路径。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月21日