直接进正题,这里直接放出最简单的方法:运用模拟器,在电脑上运行微信和小程序,从而获取小程序的wxapkg包,再用反编译器就可以获取到源码了。
说着很简单,但实际操作还是有点问题的,更何况本教程涉及到侵犯劳动成果,所以只是点到为止,本文章之教程意在学习小程序,误做违法乱纪的事,阅读本文表示您同意!
由于上述原因,本文只是点到为止,新手需要有探索折腾的精神,但是也请阅读到最后,也许有惊喜
.wxapkg是一个二进制文件,有其自己的一套结构。
这里有个小坑,想要进入到上面这个目录的话,用手机自带的文件管理器是不行的,需要使用到第三方的文件管理器,比如:RE文件管理器
,并且安卓需要取得root权限,苹果手机要求越狱,且iphone的越狱难度>安卓获取root,不管越狱还是root,这都太费劲,当然有能力的同学可以直接从手机上来操作,但是在这里不推荐从真机上获取。
所以我们用电脑安卓模拟器
准备材料
1.node.js运行环境
如果没有安装nodejs,请先安装一下
下载地址:nodejs.org/en/
2.反编译的脚本
地址:百度链接 密码7777
3.安卓模拟器(要求自带root权限)
我使用的是夜神模拟器
,你也可以自选
详细步骤:
使用安卓模拟器获取到.wxapkg文件
不用越狱,不用root,使用电脑端的安卓模拟器来获取是一个非常简单快捷的获取方式,具体步骤如下:
1.打开安装好的安卓模拟器,并在模拟器中安装QQ
、微信
、RE管理器
QQ
、微信
、RE在模拟器自带的应用商店里搜索下载安装即可
2.设置一下模拟器
首先到模拟器内部设置超级用户权限
这些操作的目的都是为了能让RE管理器
顺利的获取到ROOT权限
3.接下来在模拟器里打开微信,然后在微信中运行你想要获取的小程序(这一步微信就会把目标小程序的源文件包从服务器下载到了本地)
在模拟器微信中运行一下后,切回模拟器桌面,运行RE浏览器 来到目录
/data/data/com.tencent.mm/MicroMsg/(一串32位的16进制字符串文件夹)/appbrand/pkg/
不清楚一串32位的文件夹是哪个的话,可以用时间排序
你会看到发现里面的一些.wxapkg后缀的文件,就是它们没错啦,可以根据时间来判断那个是你刚才从服务器下载过来的
一般小程序的文件不会太大,长按,然后点右上角选项将其压缩为zip包,然后再将压缩好的包通过QQ发送到我的电脑
注:如果不进行压缩的话,QQ会提示文件不可用
所以QQ的这个功能可以让我们很方便的拿到源文件,而不必到电脑目录去找模拟器的文件目录。
解压。这样几步简单操作,就成功拿到了小程序的源文件了。
使用反编译脚本解包 wxapkg
刚刚我们获得的仅仅只是小程序的wxapkg类型的文件,这时我们是不方便直接查看的,还需要进行反编译。这里好在有大佬写好了代码,我们只需要运用其就行了。
第一步:安装node.js运行环境,在上面给出了下载地址,这里再强调一下,就是一定要安装在默认目录下
第二步:npm install
这里不要直接选择node.exe,不要再这里安装。 要在cmd里面安装:
步骤:
1.win+r
2. 输入cmd
3.切换到保存反编译文件的文件夹(切换到那个目录)
比如我的反编译文件放在
C:\Users\Administrator\Desktop\wxapp\wxappUnpacker-master
就要切换的那个目录下
cmd指令 cd C:\Users\Administrator\Desktop\wxapp\wxappUnpacker-master
4.再npm install ,依次安装如下依赖:
1、npm install esprima
2、npm install css-tree
3、npm install cssbeautify
4、npm install vm2
5、npm install uglify-es
6、npm install js-beautify
7、npm install escodegen -g
安装成功后,输入(就是在cmd进行npm install 后,再输入):
node wuWxapkg.js [-d] //files 就是你想要反编译的文件名 例如:我有一个需要反编译的文件 _1123949441_403.wxapkg 已经解压到了C盘根目录下,那么就输出命令 node wuWxapkg.js C:_1123949441_403.wxapkg
回车运行,反编译脚本就能一步将.wxapkg 文件还原为微信开发者工具能够运行的源文件,目录地址和你反编译的文件地址是一样的。
这样就获得了小程序的源码,不过有些不可以运行,缺少app.json文件等问题,自己修改下文件名就行。
开头说的惊喜在这里
如果您尝试过上文,却依然失败,看看这个客户端吧,可一键解压,方便没有技术基础的同学轻松进行小程序的反编译。
但依然需要自行获取wxapkg文件、安装node.js运行环境
软件下载地址 百度网盘 密码7777
软件作者Git: https://github.com/xuedingmiaojun/mp-unpack
本文是赞库网的第一篇技术文章,请大家以学习为主,不做违法乱纪的事情,即使被抓也别把我供出来,哈哈,赞库网意在分享!