游戏素材文件解密

迷梦工坊开发教程脚本游戏素材文件解密

游戏素材文件解密

游戏素材文件解密

此脚本用于解密迷你世界的各种加密素材
使用之前请确保已经安装Python3并配置好环境变量
Python脚本由Four_cps编写

效果演示

解密前:(由于无法正常显示图片,所以提供下载链接)open in new window

解密后:

解密后

用到的库

import os import struct import six import shutil

其中six库需要手动安装,请在命令行中输入以下代码:

使用方法

新建文件夹,将Python脚本和需要解密的图片一并放在文件夹里,可同时解密多张图片运行Python脚本脚本运行完毕后会在当前目录下生成一个名为_decrypted的文件夹,解密的图片就在里面

Python脚本

import os import struct import six import shutil D8_KEY = b"xd6x02x08x00xf4xfexffx3fx01x00x00x00xd0xcax01x00" OUT_PATH = os.path.join(os.curdir, "_decrypted") def decrypt_folder(path): for file_name in os.listdir(path): if not file_name[0] == "_": if os.path.isdir(file_name): decrypt_folder(os.path.join(path, file_name)) else: try: decrypt_file(os.path.join(path, file_name)) except: decrypt_folder(os.path.join(path, file_name)) def decrypt_file(path): with open(path, "rb") as f: sign = f.read(4) if sign == b"xffxd9xffxd8": file_size = os.path.getsize(path) enc_size = struct.unpack(">i", f.read(4))[0] enc_data = f.read(enc_size) no_enc_data = f.read(file_size - enc_size - 8) out_path = os.path.join(OUT_PATH, path[2:]) if not os.path.exists(os.path.dirname(out_path)): os.makedirs(os.path.dirname(out_path)) with open(out_path, "wb") as of: for i in range(0, enc_size): dec_byte = enc_data[i] ^ D8_KEY[i & 0xf] of.write(six.int2byte(dec_byte)) of.write(no_enc_data) print("Decrypted encrypted file:" + path) elif sign == b"xffxd9xffxd7": print("Ignored encrypted file:" + path) else: f.close() out_path = os.path.join(OUT_PATH, path[2:]) if not os.path.exists(os.path.dirname(out_path)): os.makedirs(os.path.dirname(out_path)) shutil.copyfile(path, out_path) print("Copied non-encrypted file:" + path) decrypt_folder(os.curdir) 上一页游戏数据文件解密

相关知识

《原神》dmp文件在哪 dmp文件位置介绍
dota2游戏文件缺失或损坏无法启动游戏解决方法是什么
请出示文件好玩吗 请出示文件玩法简介
steam更新文件损坏
《崩坏星穹铁道》游戏文件解压失败修复玩法
《以纸嫁衣》第一章通关攻略 解密谜题 找到真相
《巫师3次世代版》怎么继承存档文件 存档文件继承方法介绍
一般单机游戏的设定信息存在哪个文件夹里
《鬼谷八荒》游戏启动不成功?bug.dll文件丢失的终极修复指南
复古游戏素材

网址: 游戏素材文件解密 http://www.hyxgl.com/newsview335662.html

推荐资讯