小程序反编译

2021/4/19 1:25:19

本文主要是介绍小程序反编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

记录一下小程序源文件包的获取过程

1.所需环境

  1. re文件管理器
  2. 反编译脚本wxappUnpacker或微信小程序反编译自动化工具
  3. node.js 安装

2.找到小程序的源文件包

/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/

文件夹 会有很多.wxapkg类型的文件,都是微信小程序的包

3.反编译

node .\wuWxapkg.js D:\_-xxxxxxxx_xx.wxapkg  

如果出现某些module未安装可以用npm install xxx安装

如果遇到 __vd_version_info__ is not defined,修改wuWxss.js文件(亲测无效,建议直接使用上文的exe文件)

源文件:

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

改为:

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

4.调试

  1. 打开微信开发者工具,本地调试
  2. 关闭ES6ES5配置
  3. 不校验域名和证书


这篇关于小程序反编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程