美文网首页
最新解决小程序反编译$gwx is not defined和__

最新解决小程序反编译$gwx is not defined和__

作者: 彭奕茗 | 来源:发表于2019-07-13 18:11 被阅读0次

    百度出来一堆收费教程,全是简书上的,真优秀啊。秉承知识有价,分享无价的精神,我终于用谷歌找到了众多免费教程,感谢无私分享的各位大佬们。分享有你,春暖花开。

    下面是正事:

    由于微信小程序升级的原因, github 上的 wxappUnpacker-master 小程序反编译工具已部分失效,运行 node wuWxapkg.js 命令时会报 $gwx is not defined 或vd_version_info is not defined错误

    导致 page-frame.html 文件无法反编译,无法解开 wxss 格式文件,wxss 文件缺失。

    首先是$gwx is not defined,这种报错是最多的一种,如图所示:

    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错误

    image

    解决方法如下:

    找到

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

    这个函数,替换成如下代码。

    
    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]);
    
    }
    
    }
    
    

    解决不了这两个报错你来砍我,另外,谷歌真香!

    相关文章

      网友评论

          本文标题:最新解决小程序反编译$gwx is not defined和__

          本文链接:https://www.haomeiwen.com/subject/aqvmkctx.html