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. 不校验域名和证书
    焚膏油以继晷,恒兀兀以穷年。
  • 相关阅读:
    traceroute命令
    Apache部署django项目
    Linux中变量#,#,@,0,0,1,2,2,*,$$,$?的含义
    Python正则表达式
    Python 字符串格式化 (%操作符)
    Python初学者的一些编程技巧
    Linux命令 ls -l 输出内容含义详解
    Django 前后台的数据传递示列
    hibernate基础(一)
    MySQL之多表
  • 原文地址:https://www.cnblogs.com/mangM/p/14675001.html
Copyright © 2011-2022 走看看