莫的感情的游戏上线提醒器,jpg新月同行10.24公测

安装包700游戏内热更新近6个G

1 个赞
import os

class AesEcbPBKDF1:
    def __init__(self):
        from hashlib import sha1
        from Crypto.Cipher import AES
        from Crypto.Util import Counter
        self.aes, self.count, self.sha1 = AES, Counter, sha1

    def getkey(self, password, salt, keylen, count):
        index, count = 1, count - 1
        hashval = self.sha1((password.encode('utf-8') if isinstance(password, str) else password) + salt).digest()
        for i in range(count - 1):
            hashval = self.sha1(hashval).digest()
        hashder = self.sha1(hashval).digest()
        while len(hashder) < keylen:
            hashder += self.sha1(bytes([index + 48]) + hashval).digest()
            index += 1
        return hashder[:keylen]

    def decrypt(self, data, password, salt, keylen=16, count=100):
        return self.aes.new(self.getkey(password, salt, keylen, count), self.aes.MODE_CTR, counter=self.count.new(64, suffix=b'\x00' * 8, little_endian=True)).decrypt(data)

def decrypt_ab_files(input_folder):
    pbkdf1 = AesEcbPBKDF1()
    
    for root, _, files in os.walk(input_folder):
        for file in files:
            if file.endswith('.ab'):
                file_path = os.path.join(root, file)
                salt = file.replace('.ab', '').encode('utf-8')
                with open(file_path, 'rb') as f:
                    file_bytes = f.read()
                
                decrypted_data = pbkdf1.decrypt(file_bytes, 'System.Byte[]', salt, 32, 100)
                
                with open(file_path, 'wb') as f:
                    f.write(decrypted_data)

if __name__ == "__main__":
    input_folder = "/home/rikka/Downloads/UnpackGames/moon"
    decrypt_ab_files(input_folder)

4 个赞

大佬,我装了依赖库,路径也设定了,但是运行没有效果是怎么回事?求教

感谢少姜大佬的脚本,已成功解密.

另外请问各位朋友,游戏缺少了资源的路径目录,这样会导致批量导出文件非常难整理,有朋友知道应该如何解吗?

头疼,整理火葬场

大佬,热更的包包是bundles格式,运行好像没效果怎么回事?求教

感谢

原文我已经删除了,但我还是很疑惑。游戏资源和数值都是被加密的,游戏厂商应该都不会希望被解密,他们的条款里也不会区分是解密资源还是数值,理论上解资源也可以成为他们发律师函的对象,事实上资源里有很多未来的东西,厂商不太可能希望这些东西被公开。

大佬,请教个问题,我想找游戏里角色们的属性数值配置文件,但找了好久没找到,能指点下方向吗

都在LuaScript.bin里,这个二进制文件应该可以拆出很多子表格,至于怎么拆我也不知道

1 个赞

感谢,不过我研究了好久,我想用lua读取这个文件,但这个好像不是lua文件,解不开,完全解不开

我去,这算法是不可逆的么,PBKDF1好像算哈希,可惜了