PC微信小程序解密和反編譯資源


https://github.com/BlackTrace/pc_wxapkg_decrypt

由於不想安裝安卓模擬器去提取wxapkg包,windows PC端的微信也支持小程序,但是PC端的wxapkg是被加密存儲的。該項目是把wxapkg解密。目前微信PC版本為:2.9.5.31.

使用方法

pc_wxapkg_decrypt.exe -wxid 微信小程序id -in 要解密的wxapkg路徑 -out 解密后的路徑

pc_wxapkg_decrypt.exe -h

Usage of pc_wxapkg_decrypt.exe:
   -in string
         需要解密的wxapkg的文件路徑 (default "__APP__.wxapkg")
   -iv string
         AES加密的IV,默認不需要設置,如果版本有變化,設置 (default "the iv: 16 bytes")
   -out string
         解密后的wxapkg的文件路徑 (default "dec.wxapkg")
   -salt string
         pbkdf2用到的salt,默認不需要設置 (default "saltiest")
   -wxid string
         小程序的id

wxapkg路徑為:C:\Users\xxxx\Documents\WeChat Files\Applet\wx2xxx84w9w7a3xxxx\_APP_.wxapkg,小程序id為:wx2xxx84w9w7a3xxxx

解密完成后,就可以用wxappUnpacker(https://github.com/gudqs7/wxappUnpacker)解包了。

原理

PC端微信把wxapkg給加密,加密后的文件的起始為V1MMWX。

加密方法為:

  1. 首先pbkdf2生成AES的key。利用微信小程序id字符串為pass,salt為saltiest 迭代次數為1000。調用pbkdf2生成一個32位的key
  2. 首先取原始的wxapkg的包得前1023個字節通過AES通過1生成的key和iv(the iv: 16 bytes),進行加密
  3. 接着利用微信小程序id字符串的倒數第2個字符為xor key,依次異或1023字節后的所有數據,如果微信小程序id小於2位,則xorkey 為 0x66
  4. 把AES加密后的數據(1024字節)和xor后的數據一起寫入文件,並在文件頭部添加V1MMWX標識


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM