微信小程序逆向入门

为啥要学逆向

因为没人了,信息安全太缺人了,我不干没人干了。
因为要赚钱。

我也想分工明确啊,奈何现实不允许……

将小程序的包从手机导到电脑

首先需要一台测试安卓机,或者安卓模拟器

这里使用测试安卓测试手机(需要手机root),如果手机未root,可以看小白Google nexus5 Root步骤

微信小程序所在的路径类似下面的:

1
/data/data/com.tencent.mm/MicroMsg/a2268ac69a706289482397d3a73403b4【32位的字符串】/appbrand/pkg

3

小程序就在pkg目录下,后缀名是.wxapkg

使用adb的命令

1
2
3
4
5
6
7
8
9
10
11
adb devices #确保手机已经连接电脑
adb shell #进入手机的shell
su root #进入root权限的shell

cd /data/data/com.tencent.mm/MicroMsg/a2268ac69a706289482397d3a73403b4【32位的字符串】/appbrand/pkg

tar -cvf whale.tar /data/data/com.tencent.mm/MicroMsg/a2268ac69a706289482397d3a73403b4【32位的字符串】/appbrand/pkg
#上述命令将这个目录打包为一个文件whale.tar

mv whale.tar sdcard/
#将tar文件移动到sdcard目录下

最后开启手机usb调试,在电脑上打开手机的存储目录,根目录下就能找到whale.tar,解包以后就能在电脑上看到后缀名是.wxapkg的微信小程序源码了。

下载程序 wxappUnpacker

安装wxappUnpacker的依赖

1
2
3
4
5
6
7
npm install
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify

反编译

1
2
3
4
5
这个程序是主包
./bingo.sh /home/kali/Desktop/app/_-1387825193_12.wxapkg

这个程序是子包,解包语法要用-s参数加上指定的解包后存放的绝对路径
./bingo.sh /home/kali/Desktop/app/_1123949441_535.wxapkg -s=/home/kali/Desktop/app/

使用微信开发者工具

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

导入程序,选择解包后的文件夹,即可进行调试
1