首先声明:本文章仅供学习之用,不可它用。

一、前言

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

反编译,其实还是简单的,要想拿到微信小程序源码,找到源文件在手机存放的位置就行,源文件拿到,用反编译脚本跑一下,微信小程序代码包里的所有文件、所有资源就出来了(除了project.config.json小程序配置文件)。拿到源码后,跑起来是能跑,但登录、授权等涉及到appid的功能是不能用的,因为被反编译小程序的服务端appid和你本地添加的不一样,这就是为啥拉下来的源码没有project.config.json文件的原因,项目中appid是配置在这个文件里,这里一定程度上保护原小程序。

二、所需工具

nodejs运行环境,这是反编译脚本所需运行环境。

nodejs下载与安装:

(1)、nodejs下载链接:https://nodejs.org/zh-cn/download/ 或者 http://nodejs.cn/download/。安装的过程一路next就可以了,安装后将nodejs设置为环境变量。

(2)、打开cmd,测试是否安装成功,在命令行输入node -v,如下: D:>node -v   结果:v12.11.1

2.下载反编译脚本 最新下载地址:https://github.com/gudqs7/wxappUnpacker

用cd命令进入到你clone或者下载好的反编译脚本目录下,下载好后将wxappUnpacker.zip文件解压出来,这是GitHub上一位大神的杰作,找到了这个比较好用的,其他版本也可以。

3.夜神模拟器,地址:夜神模拟器

用来找寻微信小程序源文件,真机当然也可以,但麻烦,又是root权限,又是越狱的,夜神模拟器方便,直接在设置里就可以设置超级用户权限,超级权限拿到,就可以为所欲为了,通过下面这个RE文件管理器看到微信小程序源文件。

4.RE文件管理器(在模拟器内搜索安装或自动下载后导入到摸拟器安装)用来找寻微信小程序源文件。

三、编译流程

1.安装RE文件管理器

在模拟器内安装好RE文件管理器(可以在摸拟器上直接搜索“RE文件管理器”进行安装)。

2.获取超级用户权限

打开手机设置->找到超级用户->右上角三个小点点击一下,设置->点击‘超级用户访问权限’,选择‘仅限于应用’,这样超级用户权限就拿到了。

或者在首次打开RE文件管理器进入data文件夹时,摸拟器会显示超级用户请求,选择“永久记住选择”—>点击“允许”,即可获取超级用户权限。

3.打开需要反编译的小程序

打开微信,没有的在应用市场下载就行,打开想反编译的微信小程序,小程序打开后,可以切换到RE文件管理器去找源文件了。

这里有一个机制,当点开一个微信小程序,如果本地这个文件夹下找到即将运行的小程序,会从微信服务器下载到本地,在以后的某个时刻又运行这个小程序,运行时,微信服务器会通知有没有小程序新版本,如有新版本,会在后台静默下载,小程序继续运行,新版本要到下一次运行才会启用,这就是微信小程序的更新机制。

4.获取源文件

打开RE文件管理器,从根目录开始。/data/data/com.tencent.mm/MicroMsg/.../appbrand/pkg/,路径中有一段...,这里表示不确定具体一个,一般是很长的数字和字母组成的文件(如下图所示)

反正就在这个MicroMsg下的其中一个文件夹,紧接着会看到appbrand文件夹,如果这样那就找到位置了。

找到源文件后,长按左键 -> 点击右上角三个小点,打开菜单,选择‘压缩所选文件’->完成后,点击查看->长按,还是右上角,将压缩包从模拟器发送出来到电脑上,方式多种,随意。下图是以QQ方式发送。

5.下载反编译文件

从GitHub下载反编译文件后,在桌面就有了这样的文件夹结构nimi-yuan这个文件夹下这里放的是微信小程序源文件

lib这个文件夹下放的是反编译脚本

6.安装依赖包

cmd在终端进入到你刚刚下载下来的脚本目录下,依次安装以下依赖,全部安装完。

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

安装好依赖之后,就是最后一步了,反编译 .wxapkg 文件

例如:我有一个需要反编译的文件 _163200311_32.wxapkg 已经解压到了D盘根目录下,那么就输出命令

node .wuWxapkg.js D:_163200311_32.wxapkg

7.反编译完成

用node wuWxapkg.js filepath执行成功后,查看反编译成功后的文件夹,源码中除了project.config.json这个配置文件,其他的都有。导入项目后就可以看到效果了,期间可能会出现一些问题,需要调试一下。下图是编译成功后的截图。

四、结语

至此微信小程序的反编译过程就结束了,仅供学习之用,不可它用。由此可见微信小程序源码的安全性不好,过不久估计就不能这么干了,漏洞终究会被填补的。

学海无涯,欢迎一起交流学习,共同进步,不懂也可以转发小程序给我,帮你反编译。同时对于常见问题及操作流程整理了相关视频教程,可供大家学习,一学就会。

java反编译微信小程序_反编译微信小程序(最新)相关推荐

  1. wxapkg反编译后的数据_反编译微信小程序

    首先声明:本文章仅供学习之用,不可它用. 一.前言 看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来.很想一窥源码?查看究竟?看看大厂的前 ...

  2. java代码实现购物车小程序_使用Taro实现小程序商城的购物车功能模块的实例代码...

    Taro 是一套遵循 React 语法规范的 多端开发 解决方案. 现如今市面上端的形态多种多样,Web.React-Native.微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的 ...

  3. 一个公众号可以绑定几个小程序_如何实现微信小程序和公众号的绑定

    再此之前,为什么要有小程序和公众号绑定这一个操作. 第一:小程序绑定公众号之后,公众号可以推文. 如下所示,公众号推文,文章内容由后台发布,因为公众号分为服务号和订阅号,订阅号每天可以发送一次,一次最 ...

  4. 万能门店小程序_超市门店微信小程序注册流程

    现在超市门店商家利用小程序卖货已经非常普遍,小程序可以便捷地连接线上线下通道,让商家不再局限于门店周围的流量,能够从微信获取更多客户,从而提升销量和店铺知名度.超市要想有自己的线上电商小程序,就得先注 ...

  5. 如何自建微信外卖平台_如何建立微信点餐平台 微信小程序外卖怎么做

    餐道(candao.com)3月15日观察:如今越来越多人使用微信小程序点餐,对于商家来说,这是一个新的业务拓展渠道.那么,微信小程序外卖怎么做呢?首先,我们需要建立一个微信点餐平台.下面小编就教大家 ...

  6. 不同主体公众号跳转小程序_公众号和小程序的区别

    其实公众号和小程序都是微信的衍生功能,同时微信的产品.但是它们的功能不同.公众号更倾向于引流,主要是通过持续的输出有价值的文案视频图片来吸引大量的粉丝(顾客),并且培育粉丝最终获得收益.(在这里特别提 ...

  7. 专属海报小程序_剑3泡泡 | 小程序给你一份专属的账号海报!

    01按照惯例,这里是简介 paopaods.com 本期推送的是: 如何正确的使用小程序 每个账号均可小程序[剑3泡泡]搜到,生成专属账号海报! 点击底部[点我卖号]即可拥有! 02教程开始之前,安利 ...

  8. 多个 小程序_最简单的小程序制作方法,不会代码也能撸一个

    前言 / 小程序从17年上线到现在已经构造了新的开发环境和开发者生态,现在已经有超过150万的开发者加入到开发,小程序应用数量超过100万,覆盖200多个行业.虽然开发难度较app减少了很多,但是对于 ...

  9. 友盟分享小程序_来啦!小程序支持分享朋友圈!

    朋友圈是微信最大的流量池,小程序支持分享到朋友圈是开发者们期待已久的功能.上线4年的小程序,为什么现在才能分享朋友圈?后续还需要注意哪些问题?小程序未来还会继续开放相关功能吗?文章从小程序的当前发展现 ...

最新文章

  1. 非常好用的模糊pid温度控制算法_反应罐高低温温度控制装置
  2. CentOS 5 CentOS 6 启动流程及关键步骤
  3. 查看照片的指定位置的像素点值,并在照片中绘制一条指定像素颜色的线段
  4. DIN+DIEN,机器学习唯一指定涨点技Attention
  5. 区块链安全-以太坊智能合约静态分析
  6. Linux编程学习--开篇
  7. 高接低挡,Isilon三款新品铺开战线
  8. 小 C 的数学(math)详解
  9. access建立er图_关于ER图的快速生成 | 学步园
  10. VBA编程_ActiveSheet
  11. ffmpeg实现摄像头拉流_ffmpeg推流及拉流
  12. HTML——倒计时制作
  13. 怪兽融合、神秘药水?《Monster Tamer》深度攻略,来不及解释快上车!
  14. 索尼公布电池召回计划 不局限于笔记本
  15. 双十一大促淘宝主图设置优化方法
  16. 垂直距页边距5厘米_Word页面设置,含纸张大小与方向、页边距和文字方向
  17. java opencsv 乱码_教你如何在Python中读,写和解析CSV文
  18. matlab 为双y轴加标签,[转载]matlab双y轴添加误差棒(转载)
  19. PMP工具与技术之人际关系与团队技能
  20. java-net-php-python-jsp网上拍卖系统计算机毕业设计程序

热门文章

  1. 关于Java生成电子签章
  2. JUSE-QIMS一体化质量管理系统丨代理商
  3. 非华为电脑安装移动应用引擎1.6版本教程
  4. 产业园区精准招商之“以商招商”篇
  5. (zt)西蒙iphone-OpenGL ES
  6. jQuery MiniUI 开发教程 表单控件 数据绑定(一)
  7. jQuery MiniUI 开发教程 TreeGrid 创建TreeGrid(一)
  8. 链游阴阳师:Defina Finance
  9. U3D-亡命时速游戏制作(五)
  10. php源码解密微盾,php源码加密 仿微盾PHP加密专家(PHPCodeLock)