51

0x00 环境搭建

1、Nodejs

​ 下载连接: https://nodejs.org/zh-cn/download/

​ 安装成功后,在系统中配置环境变量即可,运行node -v,如下图说明安装成功

image-20200605173823025

2、反编译脚本,github搜索wxappUnpacker或其他版本(由于敏感此处不放连接,自行下载)

3、模拟器(手机),夜神、雷神、逍遥等都可以。

0x01 前期准备

1、下载RE文件管理器,允许使用超级管理员权限

2、手机已ROOT或使用模拟器ROOT模式

3、下载微信

0x02 获取小程序包

当点开一个微信小程序,如果本地这个文件夹下找到即将运行的小程序,会从微信服务器下载到本地,在以后的某个时刻又运行这个小程序,运行时,微信服务器会通知有没有小程序新版本,如有新版本,会在后台静默下载,小程序继续运行,新版本要到下一次运行才会启用,这就是微信小程序的更新机制。

小程序包地址:/data/data/com.tencent.mm/MicroMsg/随机长字符串/appbrand/pkg/

将pkg文件夹中的包清空,返回微信打开需要抓取的小程序包

image-20200605175303195

点击小程序后,返回pkg目录可以看见有两个新的包(如果没有重新进一下这个目录)

image-20200605175529451

将两个包打包成zip或rar文件,使用QQ发送给好友或者电脑助手,到此获取微信小程序包已经完成。

0x03 反编译

将小程序包放到反编译文件目录中,切换到目录后安装依赖包

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

全部安装成功后,反编译小程序包

image-20200605181240857

命令:node wuWxapkg.js _-2013801684_4.wxapkg 

image-20200605181415278

反编译成功,在目录下有一个小程序的包同名目录

image-20200605181557042

目录中就是小程序的代码,使用微信开发工具打开。

image-20200605181915816