如何找回微信小程序源碼?2020年微信小程序反編譯最新教程 小宇子李


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

本文章僅作學習使用。

 
 

微信小程序反編譯截圖1

 
 

微信小程序反編譯截圖2

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

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

一 准備工具

1 node.js  運行環境

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

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

2.反編譯的腳本

   親自改版的node.js版本的

地址:https://gitee.com/yanyuge/codes/tevrdmqwju04683lf7p5k100

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

 

已經解壓到了D盤根目錄下, 這時已經解壓到了wxapkg的存放目錄。

 

部分小程序反編譯,會丟失wxss文件,也就是關鍵的樣式文件。

同時會有報錯提示  _vd_version_info__ is not defined   該問題是微信升級導致。

解決方案: 修改反編譯目錄下的wuWxss.js文件,修改RunVm方法為

部分小程序反編譯,會丟失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文件 ,替換即可。


免責聲明!

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



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