fjqzlqh 发表于 2024-1-10 15:25

记录逆向某Unity游戏获取资源及代码

本帖最后由 fjqzlqh 于 2024-1-10 15:38 编辑

准备工具如下
1.frida
2.IDA
3.AssetStudioGUI
4.Il2CppDumper
5.dnSpy

拿到游戏的APK后,先解压看一眼资源文件,发现文件名是MD5加密,而AB包则是在前面填充了不固定的字符,并且无法识别unity版本号



先用Il2CppDumper导出dll,通过导出的DLL发现并没有常规的Assembly-CSharp.dll,先把导出的DLL丢进dnSpy查看一下函数
查看之后并没有发现有加载asssetbundle相关的函数, 但是发现在AOTMainGame.dll中有一个loadDLL的函数,应该就是加载Assembly-CSharp.dll的地方


打开IDA跟踪一下代码,但是并没有找到相关解密的代码 (这里卡了我好久,我一直以为加载dll的时候就应该解密了,但是并没有{:1_909:})
后来我用frida hook了看了一下调用过程,发现LoadDLL调用之后会调用上图中StartGame方法,在IDA跳转到该方法后找到了解密相关的函数


虽然这里调用的是Encrypt,但是我在frida里hook后并没有调用,回到dnSpy查找这个类,并hook它里面的Decrypt函数,发现正常调用


剩下的事情就容易很多了,写好frida代码,并将dll导出出来



把导出的DLL同样丢进dnSpy进行反编译,熟悉的Assembly-CSharp.dll就出来了,并且代码也都是明文的
查找加载assetbundle的地方,最终跟到了getoffset方法,这就是往AB包头部插入字节的偏移量了


代码都知道了,那就写个解密程序吧...c+v大法


解密后随便打开一个ab包查看一下,现在已经正常以UnityFS开头了


最后还有一个问题,那就是ab包的版本号还是0.0.0,这使得AssetStudioGUI无法识别


只能在github下载AssetStudio源码自己魔改,找到CheckStrippedVersion直接把里面的值写死   (暴力美学{:1_918:})


成功加载, lua代码,资源,还有前面的c#代码都被我们解出来了~~


声明一下:破解的资源请别用于商业用途~
欢迎大家留言讨论~~谢谢

hearne 发表于 2024-2-23 10:43

一片小朵朵 发表于 2024-2-23 10:29
这是哪个游戏,可以给个包名练练手吗?hyfishinghunter没有搜到

图里有的,com.hpw.fishapp

fjqzlqh 发表于 2024-1-13 21:49

本帖最后由 fjqzlqh 于 2024-1-13 21:55 编辑

阿清 发表于 2024-1-13 00:52
https://www.mlbb11.com/ 这个 这热血好几个版本 你那个版本资源好像也有点加密 大佬能不能也出一期学习 ...
你这个也不难,就是global-metadata.data用了异或加密了,资源包(也就是.pak)也是用的异或加密
这个是解密global-metadata.data

这是解密资源的,你如果只是要资源,直接用下面这个代码跑一下(路径自己替换一下),然后把解密过的资源丢进AssetStudio就行

wasm2023 发表于 2024-1-11 11:44

mark一下

zesi111 发表于 2024-1-11 13:11

膜拜神贴,后面的请保持队形~

xinbao339 发表于 2024-1-11 17:19

膜拜大神

阿清 发表于 2024-1-11 22:19

你可以玩下 那个热血江湖手游 那个才叫难阿 后缀是.pak

airwolf83 发表于 2024-1-12 13:42

虽然看不懂,但觉得很牛,毕竟Unity的游戏都很好玩

fjqzlqh 发表于 2024-1-12 13:52

阿清 发表于 2024-1-11 22:19
你可以玩下 那个热血江湖手游 那个才叫难阿 后缀是.pak

热血江湖手游的资源并没有加密

阿清 发表于 2024-1-12 17:10

fjqzlqh 发表于 2024-1-12 13:52
热血江湖手游的资源并没有加密

不应该 这游戏我看过很多次了 是官网的 不是杂牌的 assets\ android0.zip里面 也有 assets\platform_android 也有

fjqzlqh 发表于 2024-1-12 18:46

阿清 发表于 2024-1-12 17:10
不应该 这游戏我看过很多次了 是官网的 不是杂牌的 assets\ android0.zip里面 也有 assets\platform_andr ...

http://r.longtugame.com/这个地址下的

阿清 发表于 2024-1-13 00:52

fjqzlqh 发表于 2024-1-12 18:46
http://r.longtugame.com/这个地址下的

https://www.mlbb11.com/ 这个 这热血好几个版本 你那个版本资源好像也有点加密 大佬能不能也出一期学习学习 想找下地图的二进制
页: [1] 2 3
查看完整版本: 记录逆向某Unity游戏获取资源及代码