首页
社区
课程
招聘
[分享]global-metadata.dat,libil2cpp.so解密修复
发表于: 2022-7-1 09:15 16177

[分享]global-metadata.dat,libil2cpp.so解密修复

2022-7-1 09:15
16177

文章来源:deeK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8U0c8Q4y4h3k6@1y4p5I4C8e0$3c8x3c8r3S2q4c8q4)9J5k6q4)9#2k6X3Z5$3h3W2m8w2x3%4M7`.

作者:灯等灯等灯



遇到一个游戏,使用Il2CppDumper



Dump失败,打开global-metadata.dat看看,



加密,使用 719K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1j5K6y4e0l9H3x3K6l9I4y4K6y4Q4x3V1k6Y4L8r3!0T1j5h3I4Q4x3X3c8E0k6i4c8S2k6r3q4@1j5g2)9#2k6X3c8#2L8i4l9`. 脚本去dump

dump之后,再使用Il2CppDumper,还是不行,提示要手动输入


so可能还有问题,再去dump so试试,使用yang神的脚本

8e1K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9j5i4y4@1K9h3&6Y4i4K6u0V1P5h3q4F1k6#2)9J5c8X3k6J5K9h3c8S2i4K6g2X3k6s2g2E0M7l9`.`.



卡着不动,但是发现so的大小有128MB,而原来的只有7十多



无法dump,那使用yang神旧版的脚本试试

767K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9j5i4y4@1K9h3&6Y4i4K6u0V1P5h3q4F1k6#2)9J5c8X3k6J5K9h3c8S2i4K6g2X3k6s2g2E0M7q4)9J5c8X3y4G2L8h3#2A6N6q4)9J5c8U0f1$3y4$3t1^5k6o6x3^5j5U0l9^5y4X3k6U0z5e0p5$3k6o6x3^5x3K6p5I4x3$3q4U0k6U0R3&6z5o6g2U0x3K6c8U0y4$3u0V1y4$3j5`.



Dump成功,提取出来,再使用F8LEFT大佬的修复so修复一下

3aaK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6r3z5p5I4q4c8W2c8Q4x3V1k6e0L8@1k6A6P5r3g2J5i4K6u0r3M7X3g2D9k6h3q4K6k6i4x3`.



还是报错,但是看到一个信息,“[VerifyElfHeader:145]"libil2cpp.so_0x70014ce000_0x80ef000.so" has bad ELF magic

错误的魔数?,010打开看看



确实头部信息被抹掉了,



找个同位数的把头部字节填回去,再使用F8LEFT大佬的工具

 


好,修复成功

再使用Il2CppDumper试试,



还是报错,用ida打开看看,提示这个



难道


没有被正确修复吗?



导出函数干干净净,肯定还是哪里没修复,再使用010打开解析一下elf文件,好像缺少了什么




正常这里都会有4个结构体


struct elf_header

Elf64_Half e_ehsize_ELF_HEADER_SIZE

Elf64_Half e_phentsize_PROGRAM_HEADER_ENTRY_SIZE_IN_FILE

Elf64_Half e_shentsize_SECTION_HEADER_ENTRY_SIZE

 

3个大小信息都没了,通常这里也是固定的,找个正确的对比后改一下



正确解析elf结构体,再使用Il2CppDumper试试,还是不行



Ida再打开看看,



正常打开,导出函数也有

使用frida-il2cpp-bridge去获取dump.cs 



提示找不到导出函数,去ida中搜索看看,确实没有,这个也被抹除了,其他的貌似都有在,找个别的游戏,打开同位数的游戏的so,是能找到这个导出函数的,搜索一下这个函数,确实是有的


 

找找附近的特征,去搜索一下





有很多个,最后找到这个,在fix.so中跳转过去看下

 



好家伙原来导出函数变成这样

 

 

il2cpp_dk1::num_htpjhsSvk

把上面的函数填写到frida-il2cpp-bridge,再写脚本,最后终于获取到相关信息


 


总结:

1.global-metadata.dat加密:

使用:2d6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1j5K6y4e0l9H3x3K6l9I4y4K6y4Q4x3V1k6Y4L8r3!0T1j5h3I4Q4x3X3c8E0k6i4c8S2k6r3q4@1j5g2)9#2k6X3c8#2L8i4l9`.

 

2.so加密:

使用:1c2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9j5i4y4@1K9h3&6Y4i4K6u0V1P5h3q4F1k6#2)9J5c8X3k6J5K9h3c8S2i4K6g2X3k6s2g2E0M7l9`.`.

或:534K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6D9j5i4y4@1K9h3&6Y4i4K6u0V1P5h3q4F1k6#2)9J5c8X3k6J5K9h3c8S2i4K6g2X3k6s2g2E0M7q4)9J5c8X3y4G2L8h3#2A6N6q4)9J5c8U0f1$3y4$3t1^5k6o6x3^5j5U0l9^5y4X3k6U0z5e0p5$3k6o6x3^5x3K6p5I4x3$3q4U0k6U0R3&6z5o6g2U0x3K6c8U0y4$3u0V1y4$3j5`.

 

3.so修复:

使用:2c9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6r3z5p5I4q4c8W2c8Q4x3V1k6e0L8@1k6A6P5r3g2J5i4K6u0r3M7X3g2D9k6h3q4K6k6i4x3`.

如果还不行,手动修复

 

4.根据特征找到原函数地址

 

5.建了一个QQ群:542863693,欢迎加入(备注看的什么文章

微信公众号:MoneyHoneyCome



[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2022-7-1 09:18 被灯-等灯等灯~编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 156
活跃值: (1352)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持一下大佬
2022-7-5 01:12
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
6666
2022-7-5 08:50
0
游客
登录 | 注册 方可回帖
返回