计算机技能 微信小程序,利用微信电脑最新版 反编译微信小程序 无需root

利用微信电脑最新版 反编译微信小程序 无需root

1|0一、前言

大家都知道编写一个微信小程序是非常漫长的,但是由于现阶段微信小程序存在反编译的可能,于是我去github上找到一个反编译工具(教程。2|0二、简单介绍下wxapkg

微信小程序一般是存在哪的?——毫无疑问当然是在云端。

微信如何运行小程序?——首先需要在云端下载xxx.wxapkg文件到本地,再利用本地的一套机制运行起来。

那么如何才能在手机里找到小程序的源文件包呢?安卓具体目录位置直接给出:

/data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/

在这个目录下,会发现一些 xxxxxxx.wxapkg 类型的文件,这些就是微信小程序的包

此目录是需要用户root后从根目录找出。

电脑运行小程序后具体目录:

C:\Users\{{电脑用户名}}\Documents\WeChat Files\Applet\{{小程序AppID}}\{{随机产生的数字}}\__APP__.wxapkg

注:微信电脑版需是可运行小程序的版本。

微信小程序的格式就是:xxx.wxapkgxxx.wxapkg是一个二进制文件,有着其自己的一套结构。

关于.wxapkg的详细内容可以参考lrdcq大神的博文:微信小程序源码阅读笔记

3|0三、环境搭建

1. node.js运行环境 下载地址  如果没有安装nodejs,请先安装一下

2. 反编译的脚本。 下载地址这里提供一个Github上qwerty472123大神写的node.js版本的

3. 安卓模拟器(也可用真机需root)获取wxapkg请看4-5步, 新pc版微信(推荐此步骤),请看6步。

4. 安卓模拟器(要求自带root权限)下载地址自行百度,可以使用的是夜神模拟器,雷电等模拟器(自带root),用来获取小程序源文件

5. RE管理器、MT管理器或者x-plore 赋予root权限下载地址自行百度 到时候要拖到模拟器中的,进入"/data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/"目录根据小程序第一次打开时间找到对应wxapkg

6. 我用的是微信2.7内测版,手机分享小程序给电脑版打开小程序,找到"C:\Users\{{电脑用户名}}\Documents\WeChat Files\Applet\{{小程序AppID}}\{{随机产生的数字}}\__APP__.wxapkg" 一般小程序和分包都会在。

4|0四、详细过程(以pc版微信为例)

分享给电脑版微信小程序

70d3a6a4f0f080a90f5046d030765a01.png

点击打开

019e9b02e53904cc770e16e238986102.png

导出wxapkg

8ceb727348c440df8251e24f7260d11d.png

获取到wxapkg后

将其拷贝到某一路径下,在此路径下按住Shift键,同时鼠标点击右键选择在此处打开Powershell窗口如图

8c22486a778e8409ebc413c89dffbb36.png

在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

安装完成之后会出现node_modules文件夹这是运行wxapkg反编译脚本的必备环境

4ae76aa2623e76585eb2e6ac9a1bbf1b.png

下面输入命令node wuWxapkg.js 如下

8b121e44426025e07db9626617578884.png

运行后,如果不出现错误,基本就可以在微信开发者工具打开

a68fa655239f0ae95e16ede32868157c.png

反编译脚本就能一步将.wxapkg 文件还原为微信开发者工具能够运行的源文件,目录地址和你反编译的文件地址是一样的 然后在微信开发者工具新增导入项目即可打开

运行成功,源码获取完成

6216bac77465c89a45212a2cc83f4c73.png5|0五、结束语

现阶段的wxapkg,即微信编译后的可执行文件,在我个人眼里,加密力度是不够的,虽然在对我们学生党来说是学习的交流的好手段,但是在社会上运作,还是存在着巨大的安全隐患,随着科技的发展,相信不久,这一方法将会失效,所以趁现在还有学习的机会,可以去搞。

上线的源代码能如此简单的被获取到,不得不说小程序的源码安全存在很大的隐患,这一点很多开发者应该也知道,所以发现有些小程序会将重要的js逻辑代码柔在一个js文件中,这样,即使被获取了源码,也不是很容易读懂,但是任然避免不了被窥视的问题。

实际上,小程序只是很简单的将图片、js和json文件压在一起,而压制的过程就是Wxml -> Html、 Wxml -> JS、Wxss -> Css,转换后文件二进制格式跟后缀名为wx二进制格式完全一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值