有大佬解包千年之旅吗
我会
能说一下是怎么解包的吗?楼上大佬的提示没看懂,好像要自己写异或算法解密的脚本才行。
我映像中它似乎沒有加密,你可以尋找它的存儲位置讀取它的資產.
老表,这游戏要停服了,能雇你帮我解包下不,有偿![]()
if data[:2] == b'\x1f\x8b':
data = rgzip(data)
if data[:7] != b'UnityFS':
ekey = b'UnityFS\x00'
edat = data[:8]
key = [edat[i] ^ ekey[i % 8] for i in range(8)]
dec = [data[i] ^ key[i % 8] for i in range(220)]
data = bytes(dec) + data[220:]
老表,请问这段代码是要用来处理解密.dat文件的吗?
谢谢你老表,我搞定了。
照着qingliu佬的海底捞月法导出保存的,检查了几遍完整性,但是这游戏我玩得很浅,不知道有没有鉴权数据,另外为了避免这两天有遗漏的热更新,关服前会再备份一遍的。
0225:关服前几小时的备份数据和23号的对比了一下,只有一些系统日志文件有差异,当然为了照顾强迫症,会晚些时候抽空上传
求一份
if isinstance(fp, str):
with gzip.open(fp, 'rb') as file:
return file.read()
else:
return zlib.decompress(fp, 16 + zlib.MAX_WBITS)
是关服前的数据?
发包
这不是私服,这是官方复活后开的渠道测试服
def dec():
with open("3000000_aoyi_prefab.data", 'rb') as f:
enc = f.read()
with open("dec", 'wb') as f:
f.write(bytes([b ^ 0x7B for b in enc[:min(1000, len(enc))]]) + enc[min(1000, len(enc)):])
if __name__ == "__main__":
dec()
请教大佬一个问题,之前尝试解包千年时,我让AI分析过加密的数据包,ai能通过特定字符出现的频率推断大概率是用了异或加密,但不知道具体的异或字节(就是代码里的UnityFS\x00),以及加密的字节数(220/1000),后来ai建议是用Il2CppDumper分析游戏代码找加密函数,请问大佬如果确定资源包大概率是异或加密的话,要怎么找出异或字节和具体异或的字节数呢?只能逆向游戏的libil2cpp.so了吗?
够熟练的话能看出来,像这个千年单字节的更好看。。
如果看不出来的话,要怎么通过其他方式求解呢?是像AI建议的一样用Il2CppDumper获取libil2cpp.so生成的代码文件然后放进IDA Pro分析加密函数,还是有更好的方法?
ida+frida
谢谢大佬解答
有2.0的解包数据吗
1 个赞