微信小程序Unpack
0x01 前言
这种unpack
方法早在一年之前就有up主发过文章,偶然之间看到顺手试了一下做个记录
原文地址:https://www.bilibili.com/read/cv9986715
0x02 正文部分
用到的工具:
node
npm
mumu模拟器
Root Exploer文件浏览器
wxappUnpacker
首先,在模拟器安装好RE文件浏览器
之后登陆微信,随便打开一个小程序
之后打开RE文件浏览器,会提示需要root
权限,这里就是使用模拟器的用处,真机普通情况下无法root
点击允许之后,会进入RE文件浏览器页面
微信小程序的默认文件位置:
/data/data/com.tencent.mm/MicroMsg/(一串长字符)/appbrand/pkg
这里因为之前用过小程序导致文件比较多,如果是第一次使用这个文件夹是空的,或者也可以根据时间来筛选,一般是两个数据包,一个主包一个子包
将两个数据包打包发送到本地
接下来安装wxappUnpacker
https://github.com/xuedingmiaojun/wxappUnpacker
根据安装文档
npm install
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
这里有一个小插曲,npm install
依赖的时候,总是报错:
npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! FetchError: request to http://registry.npmjs.org/vm2 failed, reason:connect ECONNREFUSED 127.0.0.1:1181
在StackOverflow
找到了解决办法:
npm config set proxy null
npm config set https-proxy null
npm config set registry http://registry.npmjs.org/
将npm代理配置之后再次install,就可以正常安装了。
之后,开始进行解包:
node wuWxapkg.js xxxx.wxapkg
打开解包的文件夹
此时就可以对小程序js或html文件进行分析,进一步进行渗透