获取微信小程序源码的三种方法

时间:2024-04-15 11:28:04

获取微信小程序源码的三种方法:
一、使用adb连接手机获取小程序源码
1、手机root环境下
开启调试模式,手机通过USB数据线连接电脑
查看设备 adb.exe devices
连接设备 adb.exe connect 10.10.10.1 //ip为手机IP
2、手机未root环境下
adb usb
adb devices
adb tcpip 8888 //设置端口号8888
断开手机和电脑的连接
adb connect 10.10.10.1:8888 //连接
adb shell //进入命令行 su
微信小程序所在目录:
/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/
根据时间顺序找出小程序,将apkg文件拷出
cp _1088601496_28.wxapkg /sdcard/
exit
exit
adb pull /sdcard/_1088601496_28.wxapkg .
拷贝出来后,使用wxappUnpacker反编译即可
https://github.com/xuedingmiaojun/wxappUnpacker.git
解主包:
./bingo.sh 主包.wxapkg

二、使用模拟器获取微信小程序源码
1、安装安卓模拟器【夜神、MuMu】,然后开启模拟器root权限
2、打开微信,运行微信小程序,然后打开RE文件管理器,根据时间顺序定位到小程序目录
/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/
3、使用wxappUnpacker反编译即可

三、使用微信电脑版获取小程序源码
优点:无需root或模拟器
PC端微信小程序加密方法:
PC端微信把wxapkg给加密,加密后的文件的起始为V1MMWX。
首先pbkdf2生成AES的key。利用微信小程序id字符串为pass,salt为saltiest 迭代次数为1000。调用pbkdf2生成一个32位的key。
取原始的wxapkg的包的前1023个字节通过AES通过1生成的key和iv(the iv: 16 bytes),进行加密。
接着利用微信小程序id字符串的倒数第2个字符为xor key,依次异或1023字节后的所有数据,如果微信小程序id小于2位,则xorkey 为 0x66。
把AES加密后的数据(1024字节)和xor后的数据一起写入文件,并在文件头部添加V1MMWX标识。
获取小程序源码步骤:
(1). 登录微信电脑版,运行需要提取源码的小程序,程序会在【C:\Users\xxx\Documents\WeChat Files\Applet】目录下生成小程序的加密包。
(2). 将需要解密的程序目录导入解密工具进行解密,解密后会获得wxapkg程序包。
https://share.weiyun.com/uMqNGOXv
(3). 使用wxappUnpacker反编译小程序得到源码
node wuWxapkg.js wxe1577ebe280af504.wxapkg
(4). 获得小程序源码后,即可导入微信开发者工具中进行调试。

wxappUnpacker工具使用:
https://www.jianshu.com/p/384d812c69d9
https://github.com/xuedingmiaojun/wxappUnpacker

微信小程序抓包参考:
https://mp.weixin.qq.com/s?__biz=MzAwMzc2MDQ3NQ==&mid=2247485861&idx=1&sn=1cea01ace0a50cc93f1395ca6094094a&chksm=9b370191ac4088870c1f70887480da52cae8b7f066481561016b189156b08fd9dc3e1ccd2077&scene=132#wechat_redirect

macos如何使用微信小程序cli工具
https://www.jianshu.com/p/795b8778ff15

参考:https://www.52pojie.cn/thread-1473679-1-1.html
https://www.cnblogs.com/gaosai/p/12325424.html
https://blog.****.net/stpeace/article/details/24815417