游戏是unity开发,但是bundle文件被加密了。
不知道有没有大佬有方法解密。
游戏的涩涩小动画做得非常有意思,想提取一下spine
链接https://pan.baidu.com/s/1iZd2oYE-J__kRcwLsEuIow
提取码49ve提取码不对换浏览器
解压码BZKJGMXXJF
这是游戏的下载包,希望大佬帮忙看看。
简单的xor.。。。
脚本我写好了上传
另外,可以用谷歌,mega这些盘上传节省时间,别用垃圾百度了
最后,如果脚本出现报错请自行谷歌寻找解决方法(我这里没有任何问题)
import os
from concurrent.futures import ThreadPoolExecutor
# 输入文件夹和输出文件夹
input_folder = 'test'
output_folder = 'output'
specified_suffixes = ['.bundle']
if not os.path.exists(output_folder):
os.makedirs(output_folder)
def decrypt_file(input_path, output_path):
try:
with open(input_path, 'rb') as input_file, open(output_path, 'wb') as output_file:
data = input_file.read()
byte_histogram = [0] * 256
for byte in data:
byte_histogram[byte] += 1
most_common_byte = byte_histogram.index(max(byte_histogram))
decrypted_data = bytes([b ^ most_common_byte for b in data])
output_file.write(decrypted_data)
print(f'解密 {os.path.basename(input_path)} 并保存到 {output_folder} 中')
except Exception as e:
print(f'这是一个错误:{input_path}: {str(e)}')
with ThreadPoolExecutor() as executor:
futures = []
for filename in os.listdir(input_folder):
input_file_path = os.path.join(input_folder, filename)
output_file_path = os.path.join(output_folder, filename)
if any(filename.endswith(suffix) for suffix in specified_suffixes) and os.path.isfile(input_file_path):
futures.append(executor.submit(decrypt_file, input_file_path, output_file_path))
elif not specified_suffixes and os.path.isfile(input_file_path):
futures.append(executor.submit(decrypt_file, input_file_path, output_file_path))
for future in futures:
future.result()
print('好了.')
我用的是字节直方图来统计每个字节的出现次数,然后选择出现次数最多的字节作为密钥,你改成遍历或者找其他方法
收下我的膝盖(爱来自北方 )