吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2745|回复: 7
收起左侧

[Python 转载] 一个解密.dat文件的Py代码,如何重新加密成.dat

[复制链接]
vbuser 发表于 2020-9-19 20:18
shaderPack = r'C:\ShaderData.dat'
from struct import unpack
import os

shaderdataFloder = r'ShaderData'

os.makedirs(shaderdataFloder,exist_ok=True)

def dint(b):
    return unpack("i",b)[0]

def decodeData(data,factor):
    factor = factor & 0xff
    result = b''
    for v3 in range(len(data)):
        v4 = data[v3]
        eax = v3 + v4
        result += bytes([factor ^ v4])
        factor = eax & 0xff
    return result

shaders = {}
with open(shaderPack,'rb') as fp:
    shaderNum = dint(fp.read(4))
    for v6 in range(shaderNum):
        nameLength = dint(fp.read(4))
        cryptedName = fp.read(nameLength)
        name = decodeData(cryptedName,v6)
        size = dint(decodeData(fp.read(4),v6))
        offset = dint(decodeData(fp.read(4),v6))
        shaders[name.decode()] = {
            "offset":offset,
            "size":size,
            "factor":v6
        }


    for filename in shaders:
        shader = shaders[filename]
        fp.seek(shader["offset"])
        data = fp.read(shader["size"])
        with open(os.path.join(shaderdataFloder,filename),"wb") as wfp:
            wfp.write(decodeData(data,shader["factor"]))

这是Py解密.dat文件的代码,解密后得到几百个.bin文件,请问高手们,如何把解密后的文件又重新打包成.dat文件呢?

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
yber + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kongshan 发表于 2020-9-19 20:51
好的   我还要研究研究
ciker_li 发表于 2020-9-19 21:50
def dint(b):
    return unpack("i",b)[0]

unpack函数在哪里?
求求你们别学了 发表于 2020-9-19 22:46
ciker_li 发表于 2020-9-19 21:50
def dint(b):
    return unpack("i",b)[0]

第二行,从struct模块引入了unpack
ciker_li 发表于 2020-9-20 08:41
struct模块也贴出来啊
describe 发表于 2020-10-28 21:52
学习一下,没找到struct这个包。。
yber 发表于 2020-10-28 23:41
看上去不是很难
蜡笔虫虫 发表于 2020-10-29 09:24
怎么解密的啊,用什么工具啊!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表