获取小程序的.wxapkg文件
书接上文iphone6 12.2越狱+ssh,越狱机已安装Filza、ssh。
前情提要
在微信开发者工具中开发完小程序后,点击“上传”按钮,微信开发者工具会进行“编译”,对 JS 代码进行压缩混淆以及对 wxml
、wxss
和资源文件等进行整合打包成一个 .wxapkg
文件上传给微信服务器。所以要“反编译”小程序,首先要获取到小程序对应的 .wxapkg
包
获取wxapkg文件
-
打开Filza,找到本地app安装目录:
/var/mobile/Containers/Data/Application/
-
找到微信目录,对应(我的是680ExxxxxxxF6199118);在当前目录搜索wxapkg
可以发现小程序包存放的完整目录为:
/var/mobile/Containers/Data/Application/<wechat sandbox>/Library/WechatPrivate/<userid>/WeApp/LocalCache/release/
其中
wechat sandbox
为上面的id,userid为微信账号id的md5。进入后有很多wx...开头的文件夹,其为每个小程序对应的AppId。每个文件夹中都存放着对应小程序的wxapkg包。
Appid获取:
1、抓包详见Appid获取,,随便找个app抓个包
2、删掉其他小程序,只留待测的
3、待测小程序删掉重进,看修改日期
-
将wxapkg包cp到本机来
方法一:ssh
手打路径很麻烦,可以在Filza设置中启用webdav服务,启用后mac浏览器访问手机11111端口,可以浏览手机目录结构
1 2 3
iproxy 2222 22 ssh root@127.0.0.1 -p 2222 scp -P 2222 root@127.0.0.1:/var/mobile/Containers/Data/Application/680E3A76-7E1E-41DA-9E6C-F6199118A9EC/Library/WechatPrivate/{微信用户id的md5值}/WeApp/LocalCache/release/wxdfa85454f56610e4/82/Module/f6de052da5316347d90f07ff05982386.wxapkg ~/Downloads/a.wxapkg
方法二:iFunBox mac下载iFunBox,手机上用Cydia装Apple File Conduit "2"
解包
使用:
解包主包:./bingo.sh testpkg/master-xxx.wxapkg
解包子包:./bingo.sh testpkg/sub-1-xxx.wxapkg -s=../master-xxx
待续...