一、前言
既然你進來看這篇文章,我認為“微信小程序反編譯”這個技術你多少應該會了解點。在學習微信小程序前端開發的過程中,我跟大部分人一樣,試着仿寫過一些線上的小程序案例,但在實際練手中,別人的小程序對你來說完全是黑盒的,看到人家上線的小程序的效果,純靠推測,部分效果在絞盡腦汁后能做出大致的實現,但是有些細節,費勁全力都沒能做出來。這個時候就有強烈的願望想獲取別人的源碼看看“廬山真面目”。后來在網上知道小程序前端是可以反編譯的,開始用qwerty472123
大神的wxappUnpacker去還原小程序前端,但是遇到不少的問題,只能還原一些比較基礎的小程序,復雜點的就還原不了。后來幾經周折得到一套修改和完善的腳本,截止2020年3月17日可以還原市面上大部分的小程序。下面介紹下整個還原小程序的過程。
二、什么是wxapkg文件
微信小程序一般是存在哪的?——毫無疑問當然是在雲端。
微信如何運行小程序?——首先需要在雲端下載xxx.wxapkg文件到本地,再利用本地的一套機制運行起來。
那么如何才能在手機里找到小程序的源文件包呢?
- 安卓具體目錄位置直接給出:
- /data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/
- 在這個目錄下,會發現一些 xxxxxxx.wxapkg 類型的文件,這些就是微信小程序的包
- xxx.wxapkg是一個二進制文件,有着其自己的一套結構。
- 關於.wxapkg的詳細內容可以參考lrdcq大神的博文:微信小程序源碼閱讀筆記
三、反編譯環境搭建
1. 下載安裝vscode。這個工具直接百度就能找到,之所以用這個而不選擇使用windows終端,是為了在小程序還原過程中出現問題時可以很方便的進行調試
2. 在電腦本地准備好反編譯腳本程序
3. 安卓模擬器,推薦使用BlueStacks藍疊。在模擬器下載安裝微信、QQ、RE文件管理器(需root獲取最高權限)
四、開始反編譯
1. 在藍疊模擬器上登錄微信,打開你要反編譯的小程序,運行完小程序后,就可以打開RE文件管理器
在根目錄下–查找data文件夾
2. 按照data\data\com.tencent.mm\MicroMsg依次打開目錄,找到文件名格式是一串16進制的字符串(每個人生成的不一樣),然后繼續進入appbrand\pkg。到此你已經成功一半了,哈哈。按照你打開小程序的時間就能很快找到你需要的wxapkg文件
3. 鼠標長按你需要的wxapkg文件,re文件管理器右上角出現三個點按鈕,點擊找到壓縮所選文件選項,然后等待壓縮文成后會自動彈出是否查看壓縮文件的對話框,點擊查看按鈕,就看到壓縮文件了
4.鼠標左鍵長按壓縮文件,跟上一步一樣打開操作菜單,選擇發送,會出現發送給微信或者QQ的選項,使用QQ分享到我的電腦,至此小程序的wxapkg文件便獲取成功
四、開始反編譯wxapkg文件
在電腦上打開vscode,再打開反編譯腳本的配置文件,修改為你要破解的wxapkg文件位置,然后執行反編譯,就能得到還原的小程序前端文件了
五、寫在最后
直接反編譯別人的小程序固然能夠提高小程序前端開發效率。但是如果想真正的提升個人水平,還是得靜下心來認真研究,打好基礎,因為你不能保證每次你還原的小程序都能滿足你的需求。即使有了反編譯腳本,但也只能保證市面上95%的小程序可以還原,並非萬無一失。如果你需要反編譯腳本或者在反編譯過程中遇到問題給我扣扣留言1359308559