通过手机上缓存的小程序文件反编译还原原始代码。
具体实施:
1、首先要知道的是小程序在手机中的文件存放位置
具体位置在哪?
具体目录位置:/data/data/com。32位十六进制字符串名称文件夹的Tencent.mm/micromsg/{{a字符串}}/appbrand/pkg/这个目录下会有一些后缀为xxx.wxapkg的文件,是小程序或者小游戏的包。
xxx.wxapkg是什么?
微信小程序源代码阅读说明1http://lrdcq.com/me/read.php/66.htm这里有一个详细的文档,你可以阅读。
2,然后获取。小程序的wxapkg包
如何获得:我在电脑上root使用的安卓手机模拟器上安装了RE文件管理器,然后通过管理器获得。
具体实施:
1.装手机模拟器(这里我用的是夜神模拟器)
下载地址:www.yeshen.com/cn/download…
2.在模拟器上安装微信、qq、RE管理器
RE管理器先下载到电脑上,再拖进模拟器。
稀土经理下载地址:pan.baidu.com/s/1PPBx08rN…
微信、qq上直接下载模拟。
3.设置超级用户
安装RE管理器后,需要为RE设置超级用户。
4.去缓存小游戏或者小程序
打开微信,找到想要获取代码的小游戏或程序。打开这个小游戏或者程序,程序开始运行后源文件已经下载到本地了。
5.找到源文件
将模拟器的操作页面切换到桌面,运行RE管理器,然后在管理器中找到前面提到的目录:
/data/data/com。32位十六进制字符串名称文件夹的Tencent.mm/micromsg/{{a字符串}}/appbrand/pkg/
在这里,这些是我们需要的源文件,然后我们可以通过访问时间找到哪个程序正在运行。
6 、
8008">压缩我们需要先把要用的文件进行压缩 zip ,如果不压缩发送文件时会提示 文件无效。
长按这个文件,会出现一个工具栏 ,然后点击工具栏的右侧的按钮,选择压缩所选文件

压缩完成之后 根据提示点击查看

7 、 发送到电脑
找到需要的文件后,还是长按这个文件,会出现一个工具栏 ,然后点击工具栏的右侧的按钮,选择发送,然后选择你要发送的位置(三个选择方式都行只要你能拿到这个文件就行)


8 、 拿到文件

这就是我们需要的文件 。 接下来就是对它进行反编译 ,解析出源码来了 。
3,最后反编译
首先反编译要用到node .js 运行环境
node 下载地址 : nodejs.org/en/
然后反编译用的脚本 (GitHub上qwerty472123大神写的node.js版本的)
下载地址 https://github.com/qwerty472123/wxappUnpacker
这两样都安装好了之后 ,打开编译脚本所在的文件夹 ,然后shift + 鼠标右键 在菜单中选择 “在此处打开命令窗口”

然后安装以下依赖包 :
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
这些都安装好之后 ,最后一步的反编译就来了 :
继续在当前的命令行输入
node wuWxapkg.js [-d] <files...> //files 就是你想要反编译的文件名
比如 :有一个 _-1568765780_11.wxapkg 这个文件

直接复制地址栏里的地址 + 文件名
node .wuWxapkg.js C:UsersAdministratorDesktopapp123_-1568765780_11.wxapkg
回车运行

完成之后 源文件是在的文件夹里会出现一个相同名字的文件夹 ,这个文件夹里就是你需要的小游戏或小程序的所有的源码。

到这里所有的就都完成了 ,剩下的就全是自由发挥了。