分分鐘上手小程序源碼反編譯
最近在做微信小程序開發,看到一些做的比較有意思的小程序,想看一看他們的源碼,于是研究了一下小程序源碼反編譯相關的技術。結合本次經歷,總結如下。
要拿到小程序在手機上的源碼包,需要有一臺越獄的iphone或者一臺擁有root權限的android機,正好我手里有一臺閑置的小米4,就拿來用了,試過很多種方式給小米4root,差點搞成板磚機,一直在recorvy模式啟動不了,最后嘗試了小米官網的刷機方法,把系統刷成了開發版,完美root。
手機刷機成功后,開啟root權限,并打開USB調試模式
小米4開發版開啟root權限: http://www.miui.com/thread-9625466-1-1.html
MIUI9開啟USB調試: https://jingyan.baidu.com/article/49711c6196e728fa441b7c37.html
以 MacOS 操作系統為例,通過USB連接操作Android手機
在 MacOS 系統上可以通過 brew 安裝 adb 工具
brew cask install android-platform-tools
通過USB數據線將手機連接到電腦,并在手機端開啟USB調試,通過下面的命令測試是否連接成功
adb devices
連接成功的情況下
進入 adb shell 模式
adb shell
切換到root權限
su
進入小程序源碼目錄
先進入 MicroMsg 文件夾,通過 ls 命令查看文件夾,找到 63c92a20722afef36b525ecb04706c15 這樣的文件夾(不同的微信登錄用戶,這個文件夾的名稱不同),然后再進入 appbrand/pkg目錄
cd /data/data/com.tencent.mm/MicroMsg ls cd 63c92a20722afef36b525ecb04706c15/appbrand/pkg
查看小程序源碼
可以先執行 rm -rf ./* 刪除掉當前目錄下所有緩存的小程序源碼包,然后通過手機端點擊進入需要獲取源碼的小程序,再執行 ls -l 即可看到最新操作的小程序源碼包
rm -rf ./* ls -l
將小程序源碼拷貝到手機SD卡
cp _1038319936_4.wxapkg /sdcard
新開一個終端窗口,將源碼拷貝到電腦
adb pull sdcard/_1038319936_4.wxapkg /data/weapp/a.wxapkg
下載 nodejs 版本的反編譯工具并安裝相關 npm 包
git clone https://github.com/qwerty472123/wxappUnpacker.git cd wxappUnpacker npm install esprima -g npm install css-tree -g npm install cssbeautify -g npm install vm2 -g npm install uglify-es -g
反編譯小程序源碼
node wuWxapkg.js /data/weapp/a.wxapkg
最后進入反編譯成功的文件,即可看到需要的小程序文件