摘要

安装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 已解决

版权声明:本文为MemoryDrive原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/MemoryDrive/p/13303401.html