1. 微信小程序渗透时,因为小程序没有网页端页面,所以不能直接访问抓包分析,如果需要抓包分析,一般就是要么用电脑上的安卓模拟器登录微信利用burp抓包,要么就是用burp抓手机的包,要么就是从手机上直接抓包。具体步骤网上很多,我一般简单的抓包就是ios上用“Stream”这个软件,很方便的就抓包了。
2. 使用电脑版微信获取小程序的源码(默认路径为:C:\Users\Administrator\Documents\WeChat Files\Applet)以wx开头得文件夹,例如wx21c7506e98a2fe75。然后打开文件夹找到里面以后缀__APP__.wxapkg得文件就是小程序得源文件,后面需要对这个文件进行解密以及反编译。Ps:如果你不知道你得小程序是哪一个,就把wx开头得文件夹都删除掉,然后每新开一个小程序,就会新生成一个wx开头得文件夹。__APP__.wxapkg是加密文件,下面是解密步骤
3. 解密工具:https://github.com/superBiuBiuMan/wechatMiniAppReverse
下载下来会得到以上这些文件
一 解密
先用1.first这个文件夹里面得文件,首先用命令cd 进入到文件夹所在得路径,然后用命令得形式来运行pc_wxapkg_decrypt.exe文件,格式如下(路径根据自己文件所放路径来)
d: cd xxx(路径)
pc_wxapkg_decrypt.exe -wxid 微信小程序id(文件名) -in 要解密的wxapkg路径 -out 解密后的路径
对解密命令得格式进行解释:-wxid 后面wx5abfbc224dd8c455得名称是小程序得文件名-in D:\jm\wx5abfbc224dd8c455\2\__APP__.wxapkg是需要解密得文件路径,后面得路径是需要解密之后保存到的路径。然后复制到命令窗口执行命令。命令提示解密成功就代表已经解密到你指定的文件夹路径。
二,配置环境(nodejs)
1. 开始配置nodejs环境(https://nodejs.org/en)
解密后的源码依然是wxapkg格式,就和压缩包一样,是打包的,所以需要解包
解包需要nodejs支持,如果电脑没有安装nodejs,或者版本比较旧,就需要安装最新版的nodejs。
官网下载安装即可(安装好会自动配置好环境变量)
如果是默认安装路径的话,应该和我这个路径一样,进入这个路径
2.然后把nodejs文件夹下面的所有文件复制出来,然后粘贴到刚刚那个工具的2.second文件夹下的nodejs文件夹下,如果提示文件相同冲突,一律选择“替换”。
3.1使用工具解包
npm install -g cnpm --MODULE=https://registry.npmmirror.com
npm install uglify-es(如果npm不行就换cnpm install uglify-es试下)
然后接着命令
npm install cheerio
在这过程中可能会遇到报错。
node:internal/modules/cjs/loader:1078
throw err;
不要慌,这个问题我在网上找了好久,后来发现要使用cnpm安装而不是npm
这个cnpm其实就是淘宝提供的一个镜像服务器,是国内的,比npm国外的稳定
npm config set registry https://registry.npmmirror.com(错误示范)
npm install -g cnpm --registry=https://registry.npmmirror.com
然后输入
cnpm -v
看看是否成功配置
好了接着输入
cnpm install cheerio (一定要是cnpm而不是npm)
有版本提示就说明已经成功。
3.2 接下来就可以运行工具解包了(需要进入2.second的nodejs文件夹)(提前将解密过的wxapkg文件移动到nodejs文件夹内)接着用命令来执行(路径最好是跟nodejs解包文件夹的路径是一致的)
node .\wuWxapkg.js C:\Users\Administrator\Desktop\解密+反编译(更新版)+nodejs\2.second\nodejs
第二个参数为需要解包的项目。
后面的路径是所放文件的地方,也是最后解包出来文件所在路径。
最后解包出来会有一个相同名称的文件夹出现在nodejs文件夹里面。
ps:小程序默认路径 C:\Users\Administrator\Documents\WeChat Files\Applet