zoukankan      html  css  js  c++  java
  • 小程序反编译

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

    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. 不校验域名和证书
    焚膏油以继晷,恒兀兀以穷年。
  • 相关阅读:
    tomcat 自动部署代码
    weex Android
    视频大全
    sql语句
    来一个朴素的验证码小插件
    tcp通信客户端本地日志查看
    python练习题
    由count(sno)和count(cno)引发的思考
    centos7命令行和图形界面的相互切换(附centos7安装配置教程)
    Jenkins配置有用摘抄笔记
  • 原文地址:https://www.cnblogs.com/mangM/p/14675001.html
Copyright © 2011-2022 走看看