前言:在网上看了找回微信小程序源码很多教程,都没法正常使用。微信版本升级后,会遇到各种报错, 以及无法获取到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:\test\1.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文件 ,替换即可。

如何找回微信小程序源码?2020年微信小程序反编译最新教程 小宇子李的更多相关文章

  1. 【最新】破解微信小程序,获取微信小程序源码,破解微信wxapkg,仅需5秒

    一个后端第一次接触iview,就简单写了个网站. 之前看到有人发解析wx小程序源码包的软件,但是因为微信的升级,之前的办法已经不行了.现在重新改了js文件,适配了最新的版本. 之前微信wxapkg包获 ...

  2. 【转】精选十二款餐饮、快递、票务行业微信小程序源码demo推荐

    微信小程序的初衷是为了线下实体业服务的,必须有实体相结合才能显示小程序的魅力.个人认为微信小程序对于餐饮业和快递业这样业务比较单一的行业比较有市场,故整理推荐12款餐饮业和快递业微信小程序源码demo ...

  3. 如何实现微信小程序动画?添加到我的小程序动画实现详细讲解,轻松学会动画开发!附壁纸小程序源码下载链接

    为了让用户能尽可能多地使用小程序,也算是沉淀用户,现在很多小程序中,都有引导用户"添加到我的小程序"的操作提示,而且大多都是有动画效果.在高清壁纸推荐小程序首页,用户每次进入,都会 ...

  4. 复用微信小程序源码包后仍然有原小程序的版本管理怎么处理

    前言: 复用微信小程序源码包后,重新创建项目导入源码包,会发现开发者工具版本管理中仍然有原来小程序的版本,这样就不太好了.毕竟是一个新的小程序,需要有新的版本控制的.那么这个问题怎么处理呢? 解决方案 ...

  5. 沐雪多用户微信公众平台开发源码,商城小程序源码(2018年最新的asp.net C# 微信源码,小程序源码)

    现售价5400元,就可以搭建自己的微信平台啦 购买地址:https://item.taobao.com/item.htm?id=539102325336 该系统是由[上海沐雪网络]独家授权销售,其他地 ...

  6. 微信小程序源码案例大全

    微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo: ...

  7. 反编译获取线上任何微信小程序源码(转)

    看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来.很想一窥源码?查看究竟?看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑?那么赶紧来 ...

  8. 【转】反编译获取任何微信小程序源码(完)

    一.前言最近在学习微信小程序开发,半个月学习下来,很想实战一下踩踩坑,于是就仿写了一个阿里妈妈淘宝客小程序的前端实现,过程一言难尽,差不多两周时间过去了,发现小程序的坑远比想象的要多的多!!在实际练手 ...

  9. 转载:微信小程序源码提取反编译

    转载来源:www.51xuediannao.com/xiaochengxu/019c08cc.html 一.前言 微信小程序源码提取反编译,听起来很屌,其实还是简单的,基本是傻瓜式操作.要想拿到微信小 ...

随机推荐

  1. HttpClient简介与案例分析

    HttpClient简介 HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 jav ...

  2. spring和mybatis整合报错:org.springframework.beans.MethodInvocationException: Property 'dataSource' threw exception; nested exception is java.lang.NoClassDefFoundError

    Exception in thread "main" org.springframework.beans.factory.UnsatisfiedDependencyExceptio ...

  3. UVALive 3835:Highway(贪心 Grade D)

    VJ题目链接 题意:平面上有n个点,在x轴上放一些点,使得平面上所有点都能找到某个x轴上的点,使得他们的距离小于d.求最少放几个点. 思路:以点为中心作半径为d的圆,交x轴为一个线段.问题转换成用最少 ...

  4. hashMap插入初始值

    加了this. 就很容易看出来是使用了内部类和{}代码块 当然也可以把this去掉, 更简洁, 只是不能一眼看出来怎么初始化的 类似的可以做ArrayList ....的初始化

  5. montagy

    因为只是想分享ghcjs和webgl的使用经验,所以很多地方说的很粗,因为涉及的知识确实很多, 推荐两本书,一本haskell基础的 learn you a haskell for great goo ...

  6. 吴裕雄--天生自然 R语言开发学习:分类(续一)

    #-----------------------------------------------------------------------------# # R in Action (2nd e ...

  7. zookeeper ACL(access control lists)权限控制

    基本作用:        针对节点可以设置 相关读写等权限,目的为了保障数据安全性        权限permissions可以制定不同的权限范围以及角色 一:ACL构成         zk的acl ...

  8. 【C++基础】008常量和变量

    简介:常量和变量. 常量和变量 1. 常量 具体把数据写出来 2,3,4: 1.2,1.3: "Hello World!","C++": cout <&l ...

  9. YOLO 论文阅读

    YOLO(You Only Look Once)是一个流行的目标检测方法,和Faster RCNN等state of the art方法比起来,主打检测速度快.截止到目前为止(2017年2月初),YO ...

  10. 使用HtmlAgilityPack和ScrapySharp抓取网页数据遇到的几个问题解决方法——格式编码问题

    需要用到对应市区县街道居委会的区域编码,于是找到统计局的网页,对这些数据进行抓取,用到了HtmlAgilityPack和ScrapySharp,由于也是第一次从网页抓取数据,所以对于HtmlAgili ...