反编译处于技术学习角度,瞻仰大神代码。
使用工具
- node
- mumu安卓模拟器
获取小程序文件
- 小程序的代码压缩之后 会形成一个后缀为 wxapkg 的文件,下载到微信客户端
- 打开mumu模拟器,安装微信登录之后,打开步步换小程序 ,这时客户端已经下载了小程序的二进制文件,
- 文件路径为 /data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/
- 可能会有多个包,分别为小程序的主包和分包。一起复制到mumu模拟器的共享文件夹中,这样pc端就拿到了小程序的二进制文件
小程序文件解析
- 获取的文件无法直接打开,有网友通过阅读微信解压小程序的代码,编写了同样解压逻辑的node项目,来做第一步解析 https://github.com/qwerty472123/wxappUnpacker
- 该工具在解析步步换小程序时,解压文件之后,在生成相关源代码 wxml,wxss,wcss,json 时会报错,原因是步步换使用了 插件,组件,导致,需在 wxappUnpacker 代码上 添加部分逻辑,去除插件代码和组件代码的干扰。之后对 wxml,wxss,wcss,json 单独解析,就可以获取到全部的源码。
请发表评论