小程序反編譯,怎么找回微信小程序源碼?


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

 

下面內容僅作學習使用。

 

微信小程序反編譯截圖1

 

微信小程序反編譯截圖2

------ 常見的微信小程序反編譯失敗問題 -----

1 獲取不到Wxss     2 遇見分包,無法反編譯。   3 apkg反編譯報錯。 ( 目前都已解決)

一 准備工具

1 node.js  運行環境

    如果沒有安裝nodejs,請先安裝一下

下載地址:https://nodejs.org/en/

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

注:(大型項目 分包編譯失敗問題,需要手動調整)然后再次執行命令 ,大功告成,編譯成功。有什么問題可以一起交流


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM