原文地址:https://www.yii666.com/learning/developers/19.html
準備工作
-
下載並安裝 nodejs,本次版本爲 v6.10.0
-
下載 反編譯腳本 下載地址:https://github.com/qwerty472123/wxappUnpacker
-
安裝安卓模擬器,夜神模擬器
-
下載 RE管理器
-
桌面新建文件夾 wxpack 用戶本次說明用
-
本次案例使用命令行工具 Git,可自行用自己喜歡的命令行工具,如:cmd
-
便捷下載地址:https://pan.baidu.com/s/10DNFx0Vq0iivsZjdlJrjrA 提取碼:88lb
第一步
通過命令工具進入到新建文件 wxpack,如下圖所示,並附帶這次案例的軟件版本
檢測模擬器是否已經開啓 ROOT
安裝 RE管理器
至此,所需要的東西已經安裝完了。
第二步
登陸微信後,打開小程序,在以下路徑會生成 .wxapkg 文件
RE管理器 路徑爲: /data/data/com.tencent.mm/MicroMsg/appbrand/{{32位的文件夾}}/,如下圖所示:
然後我們返回上一層目錄,把 pkg 目錄打包,併發送到我們的電腦。
並解壓到以下目錄:
第三步,反編譯開始
把 反編譯腳本 放進創建的文件夾 wxpack 裏面:
接着運行以下命令:
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
開始反編譯,執行:
node ./wuWxapkg.js ./data/_1123949441_213.wxapkg 【錯誤的】,請看注意內容
node ./wuWxapkg.js ./data/_547556184_15.wxapkg
注:
1、微信小程序的包和依賴包的後綴都是.wxapkg,真正的小程序包大小1M左右,而依賴包大小2、3M甚至更多。
2、不通的命令行工具,可能斜槓的方式不一樣
3、如果出現錯誤 Error: Cannot find module 'escodegen' ,請執行以下代碼後,再次運行:
npm i --save-dev escodegen
4、繼續運行還是出現錯誤 Error: This package is unrecognizable.
原因:
微信小程序的包和依賴包的後綴都是.wxapkg,真正的小程序包大小1M左右,而依賴包大小2、3M甚至更多。反編譯.wxapkg依賴包會報錯: Error: This Package is unrecognizable, please decrypted every type of file by hand.反編譯錯誤的包返回結果:鏈接:https://www.jianshu.com/p/511925d51b1e
正確源碼包的返回結果: