看了很多反編譯、找回微信小程序源碼很多教程,各種問題導致都沒法正常使用。微信版本升級后,會遇到各種報錯, 以及無法獲取到wxss的問題。查閱各種資料,最終解決,於是貼上完整的微信小程序反編譯方案與教程。


下面內容僅作學習使用。

微信小程序反編譯截圖1

微信小程序反編譯截圖2
------ 常見的微信小程序反編譯失敗問題 -----
1 獲取不到Wxss 2 遇見分包,無法反編譯。 3 apkg反編譯報錯。 ( 目前都已解決)
一 准備工具
1 node.js 運行環境
如果沒有安裝nodejs,請先安裝一下
2.反編譯的腳本
在網上找的大神寫的node.js版本的
地址:https://github.com/qwerty472123/wxappUnpacker
3 夜神模擬器
需要安裝微信和QQ
地址:https://www.yeshen.com/cn/download/fullPackage
接下來正式開始反編譯
1 獲取小程序pkg包:
在模擬器中登錄微信,隨便打開一個小程序A
打開文件管理器,找到/data/data/com.tencent.mm/MicroMsg 目錄 ,然后找到一個很長的用戶隨機碼,
繼續找到/appbrand/pkg/xxx,接下來會出現小程序A的wxapkg包

2 壓縮apkg包,然后長按發送到QQ,微信暫不支持發送。。
3 到此我們獲取到了小程序的包 ,打開node.js , 路徑切換到我們下載的反編譯腳本的目錄,如圖


提示: ( 路徑不要包含中文名稱,否則反編譯時可能因編碼不對 造成異常 )
4 切換到反編譯腳本的目錄后 ,在node命令窗口中依次安裝以下依賴:
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen -g
下面講解需要更改的源碼和操作步驟:
這時可能會報一個錯誤、【找不到escodegen模塊】、莫緊張 , 否則容易禿頭......
運行如下命令:npm i --save-dev escodegen
然后執行反編譯命令 node wuWxapkg.js D:\test\1.wxapkg
.wxapk
已經解壓到了D盤根目錄下, 這時已經解壓到了wxapkg的存放目錄。
部分小程序反編譯,會丟失wxss文件,也就是關鍵的樣式文件。
同時會有報錯提示 _vd_version_info__ is not defined 該問題是微信升級導致。
解決方案: 修改反編譯目錄下的wuWxss.js文件,修改RunVm方法為
function runVM(name,code){
let wxAppCode={},handle={cssFile:name};
let tsandbox = {
__vd_version_info__:"",
$gwx:GwxCfg.prototype["$gwx"],
__mainPageFrameReady__:GwxCfg.prototype["$gwx"],
__wxAppCode__:wxAppCode,
setCssToHead:cssRebuild.bind(handle)
}
let vm = new VM({sandbox:tsandbox});
vm.run(code);
for(let name in wxAppCode){
if(name.endsWith(".wxss")){
handle.cssFile = path.resolve(frameName,"..",name);
wxAppCode[name]();
}
}
}
附上最新修改好的 wuWxss.js文件 ,替換即可。
JS鏈接:
鏈接:https://pan.baidu.com/s/11289vsqMXmKt_yhm3JpGPw
提取碼:jju5
注:(大型項目 分包編譯失敗問題,需要手動調整)然后再次執行命令 ,大功告成,編譯成功。有什么問題可以一起交流