zoukankan      html  css  js  c++  java
  • 如何找回微信小程序源码?2020年微信小程序反编译最新教程 小宇子李

    前言:在网上看了找回微信小程序源码很多教程,都没法正常使用。微信版本升级后,会遇到各种报错, 以及无法获取到wxss的问题。查阅各种资料,最终解决,于是贴上完整的微信小程序反编译方案与教程。

    本文章仅作学习使用。

     
     

    微信小程序反编译截图1

     
     

    微信小程序反编译截图2

    ------ 常见的微信小程序反编译失败问题 -----

    1 获取不到Wxss     2 遇见分包,无法反编译。   3 apkg反编译报错。 ( 目前都已解决)

    一 准备工具

    1 node.js  运行环境

        如果没有安装nodejs,请先安装一下

    下载地址:https://nodejs.org/en/

    2.反编译的脚本

       亲自改版的node.js版本的

    地址:https://gitee.com/yanyuge/codes/tevrdmqwju04683lf7p5k100

    3 夜神模拟器

    需要安装微信和QQ

    地址:https://www.yeshen.com/cn/download/fullPackage

    接下来正式开始反编译

    1 获取小程序pkg包:

        在模拟器中登录微信,随便打开一个小程序A

      打开文件管理器,找到/data/data/com.tencent.mm/MicroMsg 目录 ,然后找到一个很长的用户随机码,

      继续找到/appbrand/pkg/xxx,接下来会出现小程序A的wxapkg包

     
     

    2 压缩apkg包,然后长按发送到QQ,微信暂不支持发送。。

    3 到此我们获取到了小程序的包 ,打开node.js , 路径切换到我们下载的反编译脚本的目录,如图

     
     
     
     

      提示:  (  路径不要包含中文名称,否则反编译时可能因编码不对 造成异常 )

    4 切换到反编译脚本的目录后 ,在node命令窗口中依次安装以下依赖:

    npm install esprima

    npm install css-tree

    npm install cssbeautify

    npm install vm2

    npm install uglify-es

    npm install js-beautify

    npm install escodegen -g

    下面讲解需要更改的源码和操作步骤:

    这时可能会报一个错误、【找不到escodegen模块】、莫紧张  ,  否则容易秃头......   

    运行如下命令:npm i --save-dev escodegen

    然后执行反编译命令  node  wuWxapkg.js  D: est1.wxapkg

    已经解压到了D盘根目录下, 这时已经解压到了wxapkg的存放目录。

    部分小程序反编译,会丢失wxss文件,也就是关键的样式文件。

    同时会有报错提示  _vd_version_info__ is not defined   该问题是微信升级导致。

    解决方案: 修改反编译目录下的wuWxss.js文件,修改RunVm方法为

    部分小程序反编译,会丢失wxss文件,也就是关键的样式文件。

    同时会有报错提示  _vd_version_info__ is not defined   该问题是微信升级导致。

    解决方案: 修改反编译目录下的wuWxss.js文件,修改RunVm方法为

    function runVM(name,code){

    let wxAppCode={},handle={cssFile:name};

    let tsandbox = {

    __vd_version_info__:"",

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

    }

    }

    }

    附上最新修改好的 wuWxss.js文件 ,替换即可。

  • 相关阅读:
    Codeforces 1005D:Polycarp and Div 3
    HURST 1116:选美大赛(LIS+路径输出)
    洛谷 P1164:小A点菜(DP/DFS)
    HDU 1159:Common Subsequence(LCS模板)
    51Nod 1007:正整数分组(01背包)
    bzoj3993 [SDOI2015]星际战争
    cogs1341 永无乡
    cogs1533 [HNOI2002]营业额统计
    cogs62 [HNOI2004] 宠物收养所
    cogs1439 货车运输
  • 原文地址:https://www.cnblogs.com/liyanyu520/p/12504978.html
Copyright © 2011-2022 走看看