用raz解不出来,估计加密了
昨天看了下,fakerheader以及隐藏unity版本。
可以使用Raz佬的assetudio选择fakerheader以及手动添加版本号(安装包的apk中可以获取版本号)的方式直接解出。
ps:刚开始看前面文件头UtS 5.0.还以为是什么,结果是前面塞的垃圾。
提取码:0721
提取出来的CG及人物模型。
1 个赞
手动添加版本号是什么?
哦,懂了
在工具Options-Specify Unity version选项中填入要拆包的unity文件版本号
import os
import sys
def find_unityfs_offset(file_data):
unityfs_signature = b'UnityFS'
pos = file_data.find(unityfs_signature)
return pos if pos != -1 else None
def process_ab_file(input_path, output_dir):
try:
with open(input_path, 'rb') as f:
file_data = f.read()
offset = find_unityfs_offset(file_data)
if offset is None:
print(f"警告: {os.path.basename(input_path)} 中未找到UnityFS签名,跳过处理")
return False
os.makedirs(output_dir, exist_ok=True)
output_path = os.path.join(output_dir, os.path.basename(input_path))
with open(output_path, 'wb') as f:
f.write(file_data[offset:])
print(f"处理成功: {os.path.basename(input_path)} (移除前 {offset} 字节)")
return True
except Exception as e:
print(f"处理 {os.path.basename(input_path)} 时出错: {str(e)}")
return False
def process_directory(input_dir, output_dir):
if not os.path.isdir(input_dir):
print(f"错误: 输入目录不存在 - {input_dir}")
return
ab_files = [f for f in os.listdir(input_dir) if f.lower().endswith('.ab')]
if not ab_files:
print(f"警告: 目录中没有找到.ab文件 - {input_dir}")
return
print(f"找到 {len(ab_files)} 个.ab文件,开始处理...")
success_count = 0
for filename in ab_files:
input_path = os.path.join(input_dir, filename)
if process_ab_file(input_path, output_dir):
success_count += 1
print(f"\n处理完成: 成功 {success_count}/{len(ab_files)} 个文件")
print(f"处理后的文件已保存到: {output_dir}")
if __name__ == "__main__":
input_dir = r""
output_dir = r""
process_directory(input_dir, output_dir)
哥们,这个游戏的文本和cg语音你能解出来吗?