反编译获取小程序源码
1.node.js运行环境
- 如果没有安装nodejs,请先安装一下
- 下载地址:https://nodejs.org/en/
2.反编译的脚本
- 这里提供一个Github上
qwerty472123
大神写的node.js版本的,当然也有其它版本的,这里我只是简单地用node.js版本举例 - 地址:https://github.com/qwerty472123/wxappUnpacker
3.安卓模拟器(要求自带root权限)
- 我使用的是
夜神模拟器
,用来获取小程序源文件 - 下载地址:https://www.yeshen.com/cn/download/fullPackage
三、详细步骤
使用安卓模拟器获取到.wxapkg文件
不用越狱,不用root,使用电脑端的安卓模拟器来获取是一个非常简单快捷且万能的获取方式,具体步骤如下:
1.打开安装好的安卓模拟器,并在模拟器中安装QQ
、微信
、RE管理器
QQ
、微信
在模拟器自带的应用商店里搜索下载安装即可RE管理器
的下载地址:https://pan.baidu.com/s/1PPBx08rNutXxhlMMJbuTpQ- 下载好后直接拖拽进打开的模拟器窗口就会自动安装
2.设置一下模拟器
- 以我个人认为比较好用的
夜神模拟器
举例 - 首先到模拟器内部设置超级用户权限
-
- 这些操作的目的都是为了能让
RE管理器
顺利的获取到ROOT权限
3.接下来在模拟器里打开微信,然后在微信中运行你想要获取的下程序(这其实是让微信把小程序的源文件包从服务器下载到了本地了)
- 就以我说的这款青桔单车的小程序举例(希望滴滴的大神不会想打死我~)
- 在模拟器微信中运行一下后,直接切回模拟器桌面运行RE浏览器 来到目录
/data/data/com.tencent.mm/MicroMsg里搜索
-
这个是解压好的,发送到自己手机
-
- 到这里你应该已经将反编译脚本从github下载 或者 clone 到本地某个目录
- 打开nodejs命令窗口
(node命令行如图)
(不是上面那个绿色图标的Node.js)
打开node命令行之后,可以看到此时命令行所在的目录:
(图中的是我的命令行目录,注意
:这个路径最好不要有中文,大家都知道,中文路径,经常引起一些奇奇怪怪的bug,如果路径有中文,自行解决
)
把那几个反编译要用到的脚本放在上图中的目录下(这个目录根据自己的实际目录而定,图中是我的目录): -
就抵达了目的文件夹
-
(
qwerty472123
大神的脚本里面,后缀.js
.json
的文件才是有用的文件,其他文件是GitHub上需要的文件,当然也可以全部解压!在这里我只解压了后缀.js
.json
的文件)- cd 到你clone或者下载好的反编译脚本目录下
-
在
node命令窗口
中依次安装如下依赖:npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
-
安装好依赖之后,就是最后一步了,反编译
.wxapkg
文件 - 在当前目录下输入
node wuWxapkg.js [-d] <files…>
//files就是你想要反编译的文件名
例如:我有一个需要反编译的文件_163200311_32.wxapkg
已经解压到了D盘根目录下,那么就输出命令node .wuWxapkg.js D:\_163200311_32.wxapkg
(注意一点:
.wxapkg
文件名,不要有空格。有些.wxapkg
文件名中自带空格,请自行把空格去掉,或者把文件名改成其他的)-
回车运行
-
接下来在你的文件里面就有这个小程序源码了
- 原文链接地址:https://blog.csdn.net/qq_39425864/article/details/81197949
- 这些操作的目的都是为了能让