通過緩存在手機上的小程序文件,進行反編譯還原原來的代碼
具體實現:
首先需要知道的是小程序在手機里的文件儲存位置
—— 那么這個位置具體在哪呢 ?
———— 具體目錄位置:/data/data/com.tencent.mm/MicroMsg/{{一串32位的16進制字符串名文件夾}}/appbrand/pkg/ 在這個目錄下會有一些 xxx.wxapkg 這樣后綴的文件,這些就是小程序或者小游戲的包。
———— xxx.wxapkg 是什么呢?
——————微信小程序源碼閱讀筆記1 這里有一篇詳細介紹的文件 大家可以看一下。
然后獲取小程序的 .wxapkg 包
—— 我獲取的方法: 我是在電腦上用root過的安卓的手機模擬器 ,上安裝RE文件管理器 ,然后通過管理器獲取到的。
————具體實現 :
1 、 安裝手機模擬器(這里我用的是夜神模擬器)
下載地址 :https://www.yeshen.com/cn/download/fullPackage
2 、 在模擬器上安裝 微信 , qq ,RE管理器
RE管理器先下載到電腦上,然后再拖到模擬器里面就可以了。
RE管理器 下載地址 :https://pan.baidu.com/s/1PPBx08rNutXxhlMMJbuTpQ
微信 ,qq 直接在模擬上下載。
3 、 設置超級用戶
安裝好RE 管理器之后需要 給RE 設置超級用戶這個權限。
4 、 去緩存小游戲或小程序
打開微信 然后找到你想要獲取代碼的小游戲或小程序 打開這個小游戲或小程序,程序開始運行之后源文件就已經下載到本地了。
5 、 找到源文件
將模擬器的操作頁面切換到桌面 ,運行RE管理器 ,然后在管理器里面找到之前說到的那個目錄:
/data/data/com.tencent.mm/MicroMsg/{{一串32位的16進制字符串名文件夾}}/appbrand/pkg/
這里這些就是我們需要的源文件包,然后再通過 訪問的時間 找到剛才運行的程序是哪一個就可以了。
6 、 壓縮
我們需要先把要用的文件進行壓縮 zip ,如果不壓縮發送文件時會提示 文件無效。
長按這個文件,會出現一個工具欄 ,然后點擊工具欄的右側的按鈕,選擇壓縮所選文件
壓縮完成之后 根據提示點擊查看
7 、 發送到電腦
找到需要的文件后,還是長按這個文件,會出現一個工具欄 ,然后點擊工具欄的右側的按鈕,選擇發送,然后選擇你要發送的位置(三個選擇方式都行只要你能拿到這個文件就行)
8 、 拿到文件
這就是我們需要的文件 。 接下來就是對它進行反編譯 ,解析出源碼來了 。
最后反編譯
—— 首先反編譯要用到node .js 運行環境
———— node 下載地址 : https://nodejs.org/en/
—— 然后反編譯用的腳本 (GitHub上qwerty472123
大神寫的node.js版本的)
———— 下載地址 https://github.com/qwerty472123/wxappUnpacker
這兩樣都安裝好了之后 ,打開編譯腳本所在的文件夾 ,然后shift + 鼠標右鍵 在菜單中選擇 “在此處打開命令窗口”
然后安裝以下依賴包 :
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install
這些都安裝好之后 ,最后一步的反編譯就來了 :
繼續在當前的命令行輸入
node wuWxapkg.js [-d] <files...> //files 就是你想要反編譯的文件名
比如 :有一個 _-1568765780_11.wxapkg 這個文件
直接復制地址欄里的地址 + 文件名
node .\wuWxapkg.js C:\Users\Administrator\Desktop\app123\_-1568765780_11.wxapkg
回車運行
完成之后 源文件是在的文件夾里會出現一個相同名字的文件夾 ,這個文件夾里就是你需要的小游戲或小程序的所有的源碼。
來源:CSDN 原文:https://blog.csdn.net/chao2458/article/details/81381692?utm_source=copy