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