美文网首页
反编译微信小程序 解决$gwx is not defined和_

反编译微信小程序 解决$gwx is not defined和_

作者: 淋尘 | 来源:发表于2019-06-28 15:27 被阅读0次

    由于微信小程序升级的原因,最近 github 上的 wxappUnpacker-master 小程序反编译工具已部分失效
    报错:$gwx is not defined 新的反编译脚本亲测可行。

    1.下载 nodejs

    下载地址: nodejs
    打开cmd,输入node -v命令,查看是否安装成功

    2.下载反编译脚本(2019新版)

    下载地址 :wxappUnpacker
    修改wxappUnpacker文件中的 wuWxss.js

    function runVM(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]();
          // }
     
          let wxAppCode = {};
          let handle = {cssFile: name};
          let gg = new GwxCfg();
          let tsandbox = {
             $gwx: GwxCfg.prototype["$gwx"],
             __mainPageFrameReady__: GwxCfg.prototype["$gwx"],   //解决 $gwx is not defined
             __vd_version_info__: GwxCfg.prototype["$gwx"],  //解决 __vd_version_info__ is not defined
             __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]();
             }
          }
       }
    
    

    3.root手机或电脑安卓模拟器

    一台带root的手机,或者用电脑安装安卓模拟器,获取root权限在根目录下找到这个路径
    /data/data/com.tencent.mm/MicroMsg/{id数字串}/appbrand/pkg/
    目录下扩展名为.wxapkg的小程序文件打包后发送到电脑上

    cmd 切换到 反编译脚本的目录执行以下的命令

    npm install esprima
    npm install css-tree
    npm install cssbeautify
    npm install vm2
    npm install uglify-es
    npm install js-beautify
    npm install escodegen
    

    安装完成后

    4.使用node wuWxapkg.js 反编译命令

    命令格式:node wuWxapkg.js [-d] //files
    例如:我有一个需要反编译的文件 _-931978356_15.wxapkg 在D盘根目录下的workSpace文件夹,那么就输出命令
    node wuWxapkg.js D:\workSpace_-931978356_15.wxapkg

    相关文章

      网友评论

          本文标题:反编译微信小程序 解决$gwx is not defined和_

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