反编译微信小程序 查看微信小程序源码

综合了一下网上所找到的各种方法及遇到的坑,经过试验,截止2020-01-30,本文所述方法可用

步骤如下:

  1. 安装node.js最新版本;下载地址:https://nodejs.org/en/
  2. 下载网上大神分享的解析小程序的js脚本;下载地址:https://codeload.github.com/zzzzzzgenius/wxappUnpacker/zip/master
  3. 获取小程序wxapk包;
  4. 反编译

 

补充说明:

  1. 上述步骤一、二照着步骤安装、下载即可。另外,node.js安装完后,需要打开node.js的Node.js command prompt命令窗口,依次安装如下包(照着敲就行了):                                                                                                                                                                       
    npm install esprima 
    
    npm install css-tree 
    
    npm install cssbeautify 
    
    npm install vm2 
    
    npm install uglify-es 
    
    npm install js-beautify
                                                                                                                                                                                                                             
  2. 获取小程序wxapk包,经试验,直接通过电脑版微信中获取的wxapk包,在反编译时会报错。只能从root过的手机或者安卓模拟器中获取。如果使用安卓模拟器的话,建议使用靠谱助手。打开微信后,点开要反编译的小程序,此时微信会将小程序的apk包下载到 /data/data/com.tencent.mm/MicroMsg/{数字串}/appbrand/pkg/  目录中。使用RE文件管理器可将wxapk导出来。
  3. 反编译方法:在Node.js command prompt中,进入到下载的解析小程序的js脚本目录,输入命令:
    node .\wuWxapkg.js xxx.wxapkg

    其中,xxx.wxapk为小程序包,如果不在wuWxapkg同目录,则前面需要加上路径。

 

可能出现的异常

1. 提示 __vd_version_info__ is not defined,则需要将wuWxss.js中runVM函数修改为:

function runVM(name, code) {
 
      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]();
         }
      }
}

2. 提示magic number is not correct,此时,考虑是否使用了微信电脑版中的wxapk包了,换安装模拟器中的包试试。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值