1. 程式人生 > 程式設計 >node.js中PC端微信小程式包解密的處理思路

node.js中PC端微信小程式包解密的處理思路

目錄
  • 小程式的原始碼在哪裡
  • PC端小程式是怎麼被加密的
  • 解密思路
    • 預處理
    • 加密後的頭部部分
    • 加密後的尾部部分
  • 再漂亮點
    • commander
    • chalk
  • 原始碼

    原來發布在掘金,搬過來好了。

    微信小http://www.cppcns.com程式在PC端是加密儲存的,如果直接開啟是看不到什麼有用的資訊的,需要經過解密才可以看到包內具體的內容。本文使用node實現解密演算法,主要涉及到crypto,commander,chalk三個包的使用。

    小程式的原始碼在哪裡

    PC端開啟過的小程式會被快取到本地微信檔案的預設儲存位置,可以通過微信PC端=>更多=>設定檢視:

    node.js中PC端微信小程式包解密的處理思路

    進入http://www.cppcns.com預設儲存位置下的/WeChat Files/WeChat Files客棧

    /Applet資料夾,可以看到該目錄下有一系列字首為wx的檔案(檔名其實是小程式的appid),這些就是我們開啟過的小程式啦:

    node.js中PC端微信小程式包解密的處理思路

    進入其中某個小程式的資料夾,我們可以看到一個名字為一串數字的資料夾。點進這個資料夾, 就可以看到一個__RoTOYIAPP__.wxapkg檔案,也就是小程式對應的程式碼啦:

    node.js中PC端微信小程式包解密的處理思路

    然而,當我們開啟這個檔案之後卻發現是這樣的:

    node.js中PC端微信小程式包解密的處理思路

    WTF 這能看出來個