最新解決小程序反編譯$gwx is not defined和__vd_version_info__ is not defined

百度出來一堆收費(fèi)教程,全是簡書上的,真優(yōu)秀啊。秉承知識(shí)有價(jià),分享無價(jià)的精神,我終于用谷歌找到了眾多免費(fèi)教程,感謝無私分享的各位大佬們。分享有你,春暖花開。

下面是正事:

由于微信小程序升級(jí)的原因, github 上的 wxappUnpacker-master 小程序反編譯工具已部分失效,運(yùn)行 node wuWxapkg.js 命令時(shí)會(huì)報(bào) $gwx is not defined 或vd_version_info is not defined錯(cuò)誤

導(dǎo)致 page-frame.html 文件無法反編譯,無法解開 wxss 格式文件,wxss 文件缺失。

首先是$gwx is not defined,這種報(bào)錯(cuò)是最多的一種,如圖所示:

image

那么解決辦法就是:

修改反編譯腳本wuWxss.js代碼

將原代碼:


functionrunVM(name,code){

    let wxAppCode={},handle={cssFile:name};

    let vm=new VM({sandbox:Object.assign(new GwxCfg(),{__wxAppCode__:wxAppCode,setCssToHead:cssRebuild.bind(handle)})});

    vm.run(code);

    for(let name in wxAppCode)if(name.endsWith(".wxss")){

        handle.cssFile=path.resolve(frameName,"..",name);

        wxAppCode[name]();

    }

}

修改為:


functionrunVM(name,code){

    let wxAppCode={},handle={cssFile:name};

    let gg = new GwxCfg();

    let tsandbox ={$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]();

    }

}

第二種就是vd_version_info is not defined錯(cuò)誤

image

解決方法如下:

找到


function runOnce() {。。。。。。。。。。。。。。。。}

這個(gè)函數(shù),替換成如下代碼。


function runOnce() {

for (let name in runList) {

// console.log(name, runList[name]);

var start = `var window = window || {}; var __pageFrameStartTime__ = Date.now(); var __webviewId__; var __wxAppCode__={}; var __mainPageFrameReady__ = function(){}; var __WXML_GLOBAL__={entrys:{},defines:{},modules:{},ops:[],wxs_nf_init:undefined,total_ops:0}; var __vd_version_info__=__vd_version_info__||{};

$gwx=function(path,global){

if(typeof global === 'undefined') global={};if(typeof __WXML_GLOBAL__ === 'undefined') {__WXML_GLOBAL__={};

}__WXML_GLOBAL__.modules = __WXML_GLOBAL__.modules || {};

}`;

runVM(name, start + " \r\n" + runList[name]);

}

}

解決不了這兩個(gè)報(bào)錯(cuò)你來砍我,另外,谷歌真香!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容