写python3脚本读入参数中的文件进行以下运算C#代码用python改写public static byte AssetBundleSimpleDecryptbyte bytes if bytes0 == 69 && bytes1 == 65 && bytes2 == 66 short num = BitConverterToInt16bytes 4; byte b = byte
以下是Python3脚本的实现:
import sys
import struct
def asset_bundle_simple_decrypt(file_path):
with open(file_path, "rb") as f:
bytes = f.read()
if bytes[0] == 69 and bytes[1] == 65 and bytes[2] == 66:
num = struct.unpack("<h", bytes[4:6])[0]
b = bytes[6]
for i in range(num-1, 96, -1):
bytes[i] ^= bytes[i-1]
bytes[96] = (bytes[96] ^ b)
bytes[0:8] = b"UnityFS\x00"
with open(file_path[:-3] + "out", "wb") as f:
f.write(bytes)
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python3 script.py [file_path]")
sys.exit(1)
asset_bundle_simple_decrypt(sys.argv[1])
运行方式:
python3 script.py [file_path]
其中,[file_path]是需要解密的文件路径。解密后的文件会保存在同目录下,文件名为原文件名加上".out"后缀。
原文地址: https://www.cveoy.top/t/topic/b7qk 著作权归作者所有。请勿转载和采集!