对于小程序反编译想必大家都不陌生
并且也有许多大神给出了自己的方法
具体可以参考下这篇
可能是我本人技术的问题,很多方法我都没有成功
并且大部分都是在命令行进行,很不方便
所以就重新修改了一下,并进行封装
效果图
贴上核心代码
1 key = PBKDF2( 2 wxid.encode("utf-8"), 3 salt.encode("utf-8"), 4 32, 5 count=1000, 6 hmac_hash_module=SHA1, 7 ) 8 # 生成key 9 # 读取加密的内容 10 11 with open(file, mode="rb") as f: 12 dataByte = f.read() 13 14 # 初始化密钥 15 cipher = AES.new(key, AES.MODE_CBC, iv.encode("utf-8")) 16 17 # 解密头部1024个字节 18 originData = cipher.decrypt(dataByte[WXAPKG_FLAG_LEN : 1024 + WXAPKG_FLAG_LEN]) 19 20 # 初始化xor密钥, 解密剩余字节 21 xorKey = 0x66 22 if len(wxid) >= 2: 23 xorKey = ord(wxid[len(wxid) - 2]) 24 25 afData = dataByte[1024 + WXAPKG_FLAG_LEN :] 26 27 out = bytearray() 28 for i in range(len(afData)): 29 out.append(afData[i] ^ xorKey) 30 31 originData = originData[0:1023] + out 32 33 # 保存解密后的数据 34 with open(put, mode="wb") as f: 35 f.write(originData)