爲了瞭解小程序代碼壓縮後是什麼樣子,於是進行了一次反編譯。
一、準備
1.node.js運行環境
如果沒有安裝node.js,需要先安裝node.js
2.反編譯腳本
一般都是採用GitHub上qwerty472123寫的node.js腳本,不過在反編譯過程中總是報$gwx未定義錯誤。經過搜索找到了一位基於此腳本的修改的版本,用着還是不錯的。腳本下載地址
3.安卓模擬器
通過安卓模擬器來獲取小程序源文件。我是用的是夜神模擬器。模擬器模擬手機運行安卓系統,在系統中小程序的源文件所在的位置是:/data/data/com.tencent.mm/MicroMsg//appbrand/小程序編號/pkg/,在pkg文件夾下會發擴展名爲.wxapkg的文件,這就是小程序的包,每一個.wxapkg文件對應一個小程序,當然其中有兩三個.wxapkg文件是小程序的運行環境文件。其中“小程序編號”是一串數字和字母組成的文字,用來標識不同的用戶。
4.RE管理器
下載RE管理器安裝到模擬器中,通過RE管理器來找到源文件位置。
二、操作步驟
1.打開安裝好的安卓模擬器並在模擬器中安裝微信、RE管理器
2.設置模擬器——設置合適的手機或平板型號
3.啓動安卓系統後到設置中設置超級用戶權限。如圖。
這些操作的目的都是爲了能讓RE管理器順利的獲取到ROOT權限
4.在模擬器中打開微信,搜索並運行小程序
5.回到模擬器桌面,打開RE管理器進入小程序包文件目錄
6.複製pkg文件夾到其他存儲區域,比如:Download
7.打開模擬器中安卓自帶的文件管理器並進入Download
8.鼠標長按壓縮文件調出發送,通過微信發送給好友來拿到壓縮文件
9.拿到壓縮文件後解壓到一個文件夾中
10.下載或者克隆反編譯腳本到本地,調出命令提示符
11.在命令提示符中輸入:npm i 進行安裝腳本依賴項
12.輸入命令:node wuWxapkg.js 小程序包目錄/xxxxx.wxapkg即可
13.命令執行完畢後就可以看到反編譯後的小程序源碼了,反編譯得到的源碼可以通過微信開發者工具來運行。
注意:使用此方法,絕大部分的小程序都能正常反編譯出來,但是也會有一些特殊的情況,具體可以查看腳本中的readme文件
參考資料:
https://blog.csdn.net/qq_33858250/article/details/80543815?tdsourcetag=s_pcqq_aiomsg