HYoth 发表于 2023-8-6 20:01

求某unity游戏加密ab文件破解思路

小白第一次搞这种工程,目的是想获取游戏的角色数据和逻辑算法。
首先找到了了很多ab文件,且无法使用UABE等软件解包。

然后检查文件魔数,发现这些情况:
1.所有文件开头均被添加了8个20(空格),但是去掉空格后仍然无法解包。
2.绝大部分文件去掉空格后是常见的assetbundle格式,但是(目前只发现)最大的一个ab文件不是如此。
3.有一个名为Android的无后缀文件,但魔数是unityfs,同样无法改后缀用UABE打开,里面数据与ab文件的命名很像:

第一个是大部分ab文件的样子,第二个是Android文件的样子,第三个是最大的那个ab文件的样子。
遂开始搜索解密教程、
发现global-metadata.dat和il2cpp.so都没有问题,于是使用ida获取其函数、
按教程,找到了UnityEngine.AssetBundle,LoadFromMemory的引用、

那么它上面的ABEncryptionDecryption.DecryptFilePath就是解密函数,跳转:

根据一些函数名我推测这个函数是先拿rfc2898获得一个key,再通过aes进行加密解密
然后查找了一些string的引用,发现了可能是作为salt和password的两个值,但是我并不确定,同时也发现了密钥迭代次数可能是1000次,根据这些其实可以计算出key。
但是拿着key又不知道怎么办了,先是尝试写了个程序但是报错输入不是一个完整块,然后我意识到这些ab文件并非整个加密了一遍,应该是只有部分加密。
求助各位大佬该怎么办QUQ,如果能通过别的方式搞到角色数据,伤害逻辑之类的也行。
相关文件链接:https://pan.baidu.com/s/1Z0vorMgoQf9k-BZOBuN9LQ
提取码:gow4
页: [1]
查看完整版本: 求某unity游戏加密ab文件破解思路