优点:无需root或模拟器
准备工作:
1、微信电脑版【建议最新版】
2、nodejs环境【https://nodejs.org/en/】
3、小程序解密工具【https://share.weiyun.com/uMqNGOXv】
4、反编译脚本【https://github.com/xuedingmiaojun/wxappUnpacker】
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目录以wx开头生成小程序包,不过是加密的,我们需要配合小程序解包工具获取小程序的源码。
一般的小程序反编译教程就是手机root然后在【/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串名文件夹}}/appbrand/pkg/ 】目录下寻找wxapkg包,或者安装模拟器然后在寻找。
其实可以更简单:登录电脑端微信,访问你想解包的小程序,小程序包会在:【C:Users\xxx\Documents\WeChat Files\Applet】下生成wx开头的文件夹,里面包含wxapkg文件,这个文件就是小程序包。
获取小程序源码步骤:
1、登录微信电脑版,运行需要提取源码的小程序,程序会在【C:\Users\xxx\Documents\WeChat Files\Applet】目录下生成小程序的加密包。
2、将需要解密的程序目录导入解密工具进行解密,解密后会获得wxapkg程序包。
3、反编译获得源码
将wxapkg程序包复制到反编译脚本目录wxappUnpacker-master里面,用cmd工具cd到wxappUnpacker-master目录,依次安装以下依赖:
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
运行反编译命令,使用node wuWxapkg.js 解密程序包
node wuWxapkg.js wxe1577ebe280af504.wxapkg
反编译成功就会在同一目录下生成当前反编译的小程序appid的目录
4、获得小程序源码后,即可导入微信开发者工具中进行调试。【小程序导入参考如下案例】
在本地微信开发者工具中新建一个空白的小程序或小游戏的项目,不要选择快速启动模板。
第四步、把刚才解压出来的源代码复制到刚刚创建的项目目录中,开发者工具会提示编译出错,这个只需要新建一个game.json文件即可。
文件内容不能为空,写一对大括号进去,或者加上deviceOrientation的配置,这句话的意思是游戏竖屏玩。
保存后你发现游戏还是编译不通过,还需要修改最后一项,点击开发者工具右上角详情按钮,把调试基础库改成game。
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