吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4885|回复: 20
收起左侧

[Android 原创] 某安卓端xxtea加密的游戏资源的解密

[复制链接]
Light紫星 发表于 2023-8-21 15:06
游戏名称:5a+75YWJ5LmL5peF

这是前段时间,帮一个群友解密的某游戏,代码贴一下,欢迎互相交流

[Python] 纯文本查看 复制代码
import xxtea#pip install xxtea-py

def decrypt_xxtea_file(orig_path, new_path, xxtea_key, xxtea_sign): 
    # 读取原文件
    orig_file = open(orig_path, "rb")
    encrypt_bytes = orig_file.read() 
    if(encrypt_bytes[10]==0):
        
        encrypt_bytes = encrypt_bytes[13:]
        #print(encrypt_bytes)
    else:
        encrypt_bytes = encrypt_bytes[9:]
    orig_file.close()
    # 解密文件 
    allbytes=b''
    j=0 
    decrypt_bytes=b''
    for j in range(0,len(encrypt_bytes)):
        decrypt_bytes = xxtea.decrypt(encrypt_bytes[:j], xxtea_key) 
        if(decrypt_bytes!=b''):
            print(j,decrypt_bytes)
            break
    allbytes=decrypt_bytes+encrypt_bytes[j:]
    #print(allbytes)
    new_file = open(new_path, "wb")
    new_file.write(allbytes)
    new_file.close()
    print("Done with " + orig_path)
    
def getKeyOfFile(filename): 
    data = open(filename,'rb').read()
    dex = bytes.fromhex('436f707972696768742843292c323031372c447261676f6e50756e636853746f726d20546563682e436f2e2c4c74642e')
    def getv12(d): 
        return dex[d]
    v9=0x7
    v10=0x30
    #v12=0x28
    v13=data[v9] 
    #0x6f
    v15=data[v9+1] 

    v16 =( v15 + v13)
     #0x141
    v17 = (v15 + v15 + v13)  

    v18 = (v15 + v13 + v17)
    v19 = (v18 + v17 + v18)
    v20 = (v17 + v18 + v19)
    #print('v20',v20)

    v21=0
    v21=12
    v37=[] 
    print('v21', v16 - 13 * (((1321528399 * v16) >> 32) >> 2))
    if (( v16 - 13 * (((1321528399 * v16) >> 32) >> 2)) <= 8 ):
        v21 = 8;
        v37=[0 for i in range(v21)]
    else:
        v21 = v16 - 13 * (((1321528399 * v16) >> 32) >> 2); 
        v37=[0 for i in range(v21)]
        v22 = v19 + v20;
        v37[8] =  getv12( v22 % v10);
        if ( v21 != 9 ):
          v23 = v20 + v22;
          v37[9] = getv12( v23 % v10);
          if (v21 != 10):
            v24 = v22 + v23;
            v37[10] = getv12(v24 % v10);
            if (v21 == 12):
              v37[11] = getv12( (v23 + v24) % v10);
        print("警告:key长度超过8",v21)
        
    
    v37[0] = getv12(v13 % v10)
    v37[1] = getv12( v15 % v10)
    v37[2] = getv12( v16 % v10)
    v37[3] = getv12 (v17 % v10)
    v37[4] = getv12(v18 % v10)
    v37[5] = getv12 ((v17 + v18) % v10)
    v37[6] = getv12 (v19 % v10)
    v37[7] = getv12( v20 % v10)
    #79 31 44 6d 79 65 2e 63
    #79 31 44 6d 79 65 2e 63 a8 3e 34 8a              y1Dmye.c.>4.
    l=8
    if(v21==8):
        l=8
    else:
        l=v21+1
    return bytes(v37),data[:l]

name='01669ba70974393a58ebb573a7562924'
ext='png'
key,sign = getKeyOfFile(name+'.'+ext)
print('key is ',key,sign)
decrypt_xxtea_file(name+'.'+ext,name+'_out.'+ext,key,sign)

免费评分

参与人数 12吾爱币 +18 热心值 +11 收起 理由
junjia215 + 1 + 1 谢谢@Thanks!
囧小九 + 1 + 1 热心回复!
笔墨纸砚 + 3 + 1 谢谢@Thanks!
chen1860906 + 1 + 1 热心回复!
tianyu925 + 1 我很赞同!
tuandgame + 1 + 1 热心回复!
lgc81034 + 1 谢谢@Thanks!
coder9527 + 1 + 1 热心回复!
zl112233 + 1 谢谢@Thanks!
wangweng175142 + 1 + 1 热心回复!
正己 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
caojian162411 + 1 + 1 热心回复!

查看全部评分

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

yinxingren 发表于 2023-12-28 16:13
so文件找到密匙
ASzaqw.1223&*&#239;&#188;&#710;&#226;?&#166;&#226;?&#166;&%&**&#239;&#188;&#710;&#239;&#188;‰
用xxtea解不了,请问有什么工具可以用这种密匙解密吗?
1015723349 发表于 2023-8-22 08:59
老哥能帮我看看  守塔不能停么   是个联网的塔防游戏   比较容易搜到的数据只要修改都会数据异常  然后有一些数据我搜不到 不知道是我搜的有问题还是数据加密了  
fishes207569 发表于 2023-8-21 16:41
zhangxu521 发表于 2023-8-21 18:46
厉害厉害谢谢
xiahaihua 发表于 2023-8-21 22:57
支持,鼓励
t188733 发表于 2023-8-22 10:26
感谢楼主
wasm2023 发表于 2023-8-22 12:19
感谢分享,666
twl288 发表于 2023-8-22 15:04
高手啊技术
slslsl 发表于 2023-8-22 19:12
大佬辛苦,学习了!
eplq 发表于 2023-8-23 00:26

luac使用了luajit加密,话说解密了以后能做什么呢,最近也在学习手游之类的游戏,大多数都教解密之类的,但解出来了不知道下一步要做什么了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 11:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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