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),版本号是 310x1f),这也和 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就可以恢复符号表了。

相关推荐
刮风那天1 小时前
Android 验证进程优先级设置是否成功
android
码流怪侠1 小时前
Android MediaCodec 全面详解:从入门到精通
android·程序员·音视频开发
程序员陆业聪2 小时前
Android插件化江湖:从DroidPlugin到Shadow的技术演进
android
敲代码的瓦龙2 小时前
Android?广播!!!
android·java·开发语言·android-studio
黄林晴2 小时前
Android Studio Quail 1 Canary 5 发布,Compose 截图测试 + R8 混淆 mapping 问题解决
android·android studio
山上春2 小时前
MT-Workflow2:面向 Odoo 的可视化审批工作流引擎
android·workflow·odoo·bpmn
恋猫de小郭2 小时前
Flutter GenUI 0.9 和 A2UI 0.9 发布,全动动态 UI 支持,AI 在 App 里直出界面
android·flutter·ios
运筹vivo@2 小时前
1306. 跳跃游戏 III — 图搜索思路拆解
游戏·深度优先·图搜索算法
ellis19702 小时前
Unity图集Atlas
unity