Android-Unity游戏逆向思路

Unity游戏逆向思路

图片链接失效访问博客园:https://www.cnblogs.com/MillionMind/p/20061945

IL2CPP

  • lib/arm64-v8a/libil2cpp.so :游戏主要逻辑在这里,使用IDA分析需要若干小时加载。

  • assets/bin/Data/Managed/Metadata/global-metadata.dat :游戏函数的符号名都在这里,可以根据这些符号名,来寻找自己感兴趣的逻辑。

  • catalog.json:游戏资源定位文件,可以寻找指定关键词。

    rg -a -n -i "cg|gallery|illust|illustration|event|movie|replay|story|scenario|回想|動画|スチル|cutscene|album|unlock" .\temp\pinkcore_base\assets\bin\Data\Managed\Metadata\global-metadata.dat

    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; OutputEncoding = [System.Text.Encoding]::UTF8; rg -a -n -i -o --color never "(.{0,50})(cg|gallery|illust|illustration|event|movie|replay|story|scenario|回想|動画|スチル|cutscene|album|unlock)(.{0,30})" --replace '>>1【2】3<<' .\temp\pinkcore_base\assets\bin\Data\Managed\Metadata\global-metadata.dat | Out-File -Encoding utf8 result.txt

    [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; OutputEncoding = [System.Text.Encoding]::UTF8; rg -a -n -i -o --color never "(.{0,50})(<关键词1> | <关键词2>)(.{0,30})" --replace '>>1【2】3<<' .\temp\pinkcore_base\assets\aa\catalog.json | Out-File -Encoding utf8 result.txt

unity版本信息

  • 从 assets/bin/Data/globalgamemanagers 里能直接抠出来 Unity 版本字符串,如Unity 2021.3.45f2
  • 同时 global-metadata.dat 的头部是标准 IL2CPP 元数据魔数(0xFAB11BAF),版本号是 31 (0x1f),这也和 Unity 2021 LTS 系列对得上。

Il2CppDumper--libil2cpp符号表恢复

  • lib/arm64-v8a/libil2cpp.so ✅(IL2CPP 主代码)
  • assets/bin/Data/Managed/Metadata/global-metadata.dat ✅(IL2CPP 元数据)

使用这个项目:https://github.com/Perfare/Il2CppDumper?tab=readme-ov-file

输入命令后会弹出文件选择,依次选择so文件和dat文件解密即可。

也可以使用命令:

复制代码
Il2CppDumper.exe <executable-file> <global-metadata> <output-directory>

下面是输出示例:

红色标识的是运行后生成的文件,红色方框是需要额外注意的文件。

DummyDLL中的Assembly-CSharp.dll文件:这个文件有符号名和程序结构,无源代码,可以使用dnspy打开查看一下大致结构。

恢复IDA符号表:使用ida加载libil2cpp,等跑完之后,选择ida_py3.py,选择scripts.json就可以恢复符号表了。

相关推荐
小宋10218 分钟前
Agent轨迹级评测实战:工具选择、预算超限与回归门禁
android·网络·人工智能·回归
Martina_03212 小时前
AI生成3D模型导入后只剩一个大网格?用6步完成微缩场景拆分与优化
人工智能·游戏·数学建模·3d·ai·自然语言处理·aigc
墨天梦2 小时前
D05_ViewModel与单向数据流
android·kotlin
蒸鱼Yuzheng3 小时前
Android 构建可复现性:APK 指纹、文件级差异与供应链审计
android·apk·devops·软件供应链·可复现构建
Pniubi5 小时前
力扣55跳跃游戏(贪心)
算法·leetcode·游戏
棉猴5 小时前
玩游戏学Python4-字符串
python·游戏·字符串·pygame·玩游戏
释厄6235 小时前
智能体释放度子集律——文本 ⊂ 音频 ⊂ 视频⊂ 游戏
开发语言·游戏·microsoft·音视频
墨天梦5 小时前
D03_Compose列表与稳定身份
android·gitee·kotlin
萌新杰少6 小时前
Kuikly股票查看软件开发体验——SaiRen
android·kotlin·客户端
vilya6 小时前
把 Python 塞进 APK:Chaquopy 打包实践
android·python