zoukankan      html  css  js  c++  java
  • 微信小程序反编译~2020年

    摘要

    安装wxappUnpacker小程序反编译工具并使用(2020.03)

    关键词: 微信小程序反编译 wxss

    介绍

    上次分享了web前端爬取工具 ,那么这次也同样讲讲微信小程序反编译吧,对于像博主这种审美奇低且前端技术渣渣的人来说,实在是利器呀。不过尽量只是反编译来学习研究啦!

    安装反编译脚本

    首先,得先了解下怎么安装,内容过长,我就不Ctrl CV了(主要是安装简单,成功并且完美地编译难)

    完美地反编译出来难就难在微信小程序一直更新,但是编译工具又是旧的

    First,终于成功了,分享一波超详细小程序源码获取方法——图文!

    如果想省事,安装nodejs之后直接下载下面的链接的文件替换掉你的反编译工具:

    https://gitee.com/Sao-operation/wxappUnpacker/repository/archive/master.zip

    如果你只是样式编译出问题了(就是page的wxss都是空白的),那么

    • 修改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]();
             }
          }
       }
    

    使用

    获取wxapkg文件

    1. 安装夜深模拟器(但是这里有个问题,夜深模拟器可能用不了,我只记得是多开器里开一个新的才行,而且以后每次使用都得切换成那个新的)

    2. 打开夜深模拟器登录微信,点击需要学(piao)习(qie)的微信小程序

    3. 打开RE文件管理器(没有的话就先安装吧),到如下目录,打开这个看着名字是十六进制且很长的文件夹(每个人的会不一样)

    4. 进入如下目录,选择wxapkg文件(注意日期,例如红线部分意为6月17日)

    5. 想办法把wxapkg文件从夜深模拟器里发送到你的能找到到电脑文件夹里吧

    反编译

    1. 第一步

      打开nodejs

      跳转到反编译脚本的目录,例如反编译脚本呢放在D盘,且反编译脚本文件夹名为”wxappUnpacker“,如果是Windows系统( 如果是Linux去掉下面那个蛋疼的 /d),则在node.js command pormpt输入:

      cd/d D:wxappUnpacker
      

      cd D:wxappUnpacker
      cd D:
      
    2. 第二步
      跳转到反编译脚本的根目录之后,在电脑文件夹里找到wxapkg文件,例如wxapkg文件放在D盘,且文件名为_000000_1.wxapkg,则在node.js command pormpt输入:

      node wuWxapkg.js -d D:\_000000_1.wxapkg
      

      再回车

    3. 第三步
      最后去找和.wxapkg文件相同路径下的同名文件夹,该文件用微信开发者工具打开即可。

    结论

    反编译...真香(我这是馋他的代码吗,我这是在学习研究)

    参考资料

    终于成功了,分享一波超详细小程序源码获取方法——图文:顺毛驴_dedc

    反编译微信小程序错误: $gwx is not defined和__vd_version_info__ is not defined 已解决

  • 相关阅读:
    登录认证,全选,反选
    jQuery基础知识
    jQuery
    js练习
    BOM DOM
    mysql视图
    用CrwalSpider爬取boss直聘
    设置piplines.py数据管道
    在middlewares.py文件里添加代理ip
    爬取豆瓣电影
  • 原文地址:https://www.cnblogs.com/MemoryDrive/p/13303401.html
Copyright © 2011-2022 走看看