1.下载夜游模拟器,安装微信,登陆并打开一个想要提取的小程序,这时小程序已经被保存到本地,然后可以关闭小程序。
1-1.在模拟器中的“设置”找到“关于平板电脑”,点击版本号5次,进入开发者模式
2.下载adb工具,并将adb文件夹下四个文件放到图中目录
3.在cmd命令行中打开abd工具
3.1检查是否连接上夜游模拟器:输入命令:abd devices
3.2如果没有连接成功,则手动连接:输入命令:adb connect 127.0.0.1:62001
4.使用adb shell进入微信的文件夹
4.1命令:abd shell
4.2命令:cd data/data/com.tencent.mm
4.3命令:cd MicroMsg
4.4查看微信目录下的文件 命令:ls -al
5.选择一个打开,当时我是打开了第二个,才找到.wxapkg文件
5.1命令:cd appbrand/pkg
5.2命令:ll
6.将.wsapkg文件放到外部文件夹(指当前模拟器手机微信文件夹外的其他文件夹)
6.1使用cat命令:cat _-1060951977_17.wxapkg>/sdcard/Download/_-1060951977_17.wxapkg(这段命令手打,注意不要漏“>”)
这时在夜游模拟器打开sdcard/Download文件夹,就可以看到.wxapkg文件(sdcard/Download目录是你自己定的)
6.2接下来把.wxapkg文件提取到你自己的电脑
6.3夜神模拟器的逻辑是这样的:模拟器的手机里建立一个文件夹,电脑里也建立一个文件夹,这两个文件夹数据互通。(也可以理解为是同一个文件夹)
7.接下来用wxapkg解码工具将其转换成小程序源码。
8.经测试,用解码工具解码得到的源码page目录下不含wxml、wxss、json、js文件,我们需要用下面的方法对wxapkg进行转换。
8.1 安装Nodejs
下载安装包:https://nodejs.org/en/download/
安装完成后在安装目录下新建两个文件夹:
1.node-cache
2.node-global
(这是用来放npm全局模块的安装目录,也可以放到其他地方。)
8.2
添加环境变量
变量名:NODE_HOME
变量值(你的安装目录):C:\Program Files\nodejs
编辑Path变量,追加:
%NODE_HOME%
%NODE_HOME%\node-global
8.3
运行下面的命令
npm config set prefix "C:\Program Files\nodejs\node-global"
npm config set cache "C:\Program Files\nodejs\node-cache"
8.4
下载解包脚本https://github.com/qwerty472123/wxappUnpacker (github大神的解码工具)
下载后用cmd进入脚本的目录,依次运行下面几行代码(安装依赖脚本)
1、cnpm install esprima
2、cpm install css-tree
3、cpm install cssbeautify
4、cpm install vm2
5、cpm install uglify-es
6、cpm install js-beautify
7、cpm install escodegen -g
8.5安装完成后,使用命令:node wuWxapkg.js C:\_50320923_9.wxapkg 即可得到反编译的文件目录。 (C:\_50320923_9.wxapkg路径、名字自己改,最好将找到的wxapkg文件自己重新命名,方便一点)
(node wuWxapkg.js C:\_50320923_9.wxapkg D:\)表示将反编译的文件放到D盘根目录,不写D:\就默认在原文件 目录
(其实wxapkg文件所在目录是/data/data/com.tencent.mm/MicroMsg/appbrand,可以省去前面1-5 步,直接在文件夹那里打开来找)
9.转换后,缺少app.wxss全局样式。
(未解决)