網上有很多文章都介紹了如何獲取源碼。總結下就是兩種方法,一個是用真機獲取,不過需要獲取手機的root權限,再反編譯獲取的小程序的wxapkg包,感覺這個方法有點難,我自己就用的就是第二種:運用模擬器,在電腦上運行微信小程序,從而獲取小程序的wxapkg包,再用大佬寫的代碼進行反編譯就行了。
首先,下載模擬器,這里我用的是夜神
下載好模擬器后,安裝上RE管理器(獲取wxapkg文件)、微信(運行小程序)、QQ(主要是發送壓縮文件)。
在這里還是踩了一些坑,比如在模擬器里面下載的微信,是不能登錄的,我百度了一些,應該是高版本的微信防止用戶在模擬器上面登錄,所以登不進去。在這里的解決辦法就是按照低版本的微信(下面我給出了低版本的安裝包)。還有,在安裝node.js運行環境的時候,盡量選擇安裝在默認的目錄,不要修改安裝路徑,我改了路徑,就沒有安裝運行成功過,嗚嗚!
安裝方法:下載安裝包(apk類型的文件),再將其拖到模擬器桌面,它就會自動安裝
微信、RE模擬器、反編譯腳本下載:下載地址
node.js運行環境 下載
準備工作下載好后,就可以開始獲取小程序源碼了。在運行小程序的時候,移動端都會從微信下載小程序的源碼,也就是后綴為wxapkg的一個文件,我們首先就是要獲取它。這個很簡單,直接打開模擬器,運行微信,運行想要源碼的小程序。最后退出微信即可。
在模擬器桌面打開RE管理器,這個時候它會請求權限,給它,始終。然后依次尋找路徑:
/data/data/com.tencent.mm/MicroMsg/appbrand/pkg/
當我們看到一個后綴為wxapkg的文件,再對比下運行時間,我們就可以大概知道哪個是小程序源碼了。
在這里我也踩了一個坑,那就是按照上面的路徑,我始終沒有找到我們需要的文件,好在,RE管理器有搜索文件的功能,我們直接搜索 pkg 就可以了 。哈哈,我找這個文件找了好久啊。
找到文件文件后,長按鼠標左鍵,會出現一個對話框(很多選項),我們選擇壓縮文件,然后點擊查看該文件,找到該壓縮文件,再長按,選擇發送,選擇發送給電腦,這時,我們就獲得了小程序的wxapkg包。
反編譯:
剛剛我們獲得的僅僅只是小程序的wxapkg類型的文件,這時我們是不方便直接查看的,還需要進行反編譯。這里好在有大佬寫好了代碼,我們只需要運用其就行了。
第一步:安裝node.js運行環境,在上面給出了下載地址,這里再強調一下,就是一定要安裝在默認目錄下
第二步:npm install
這里不要直接選擇node.exe,不要再這里npm install。 要在cmd里面安裝:
步驟:
1.win+r
2. 輸入cmd
3.切換到保存反編譯文件的文件夾(切換到那個目錄)
比如我的反編譯文件放在 d:\desktop\hf\wxappUnpacker-master) 就要切換的那個目錄下 不熟悉的可以百度一下 怎么切換路徑
4.再npm install ,依次安裝如下依賴:
1、npm install esprima
2、npm install css-tree
3、npm install cssbeautify
4、npm install vm2
5、npm install uglify-es
6、npm install js-beautify
7、npm install escodegen -g
安裝成功后,輸入(就是在cmd進行npm install 后,再輸入):
node wuWxapkg.js [-d] //files 就是你想要反編譯的文件名 例如:我有一個需要反編譯的文件 _163200311_32.wxapkg 已經解壓到了C盤根目錄下,那么就輸出命令 node wuWxapkg.js C:_163200311_32.wxapkg
回車運行,反編譯腳本就能一步將.wxapkg 文件還原為微信開發者工具能夠運行的源文件,目錄地址和你反編譯的文件地址是一樣的。
這樣就獲得了小程序的源碼,不過有些不可以運行,缺少app.json文件等問題,自己修改下文件名就行。