python实现微信小程序反编译


对于小程序反编译想必大家都不陌生

并且也有许多大神给出了自己的方法

具体可以参考下这篇

可能是我本人技术的问题,很多方法我都没有成功

并且大部分都是在命令行进行,很不方便

所以就重新修改了一下,并进行封装

效果图

 

                                                         

核心代码

 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)

记得点个推荐和关注哦哦ヾ(?ω?`)o