小程序解包

获取小程序的.wxapkg文件

书接上文iphone6 12.2越狱+ssh,越狱机已安装Filza、ssh。

前情提要

​ 在微信开发者工具中开发完小程序后,点击“上传”按钮,微信开发者工具会进行“编译”,对 JS 代码进行压缩混淆以及对 wxmlwxss 和资源文件等进行整合打包成一个 .wxapkg 文件上传给微信服务器。所以要“反编译”小程序,首先要获取到小程序对应的 .wxapkg

获取wxapkg文件

  1. 打开Filza,找到本地app安装目录:/var/mobile/Containers/Data/Application/ image-20221013224600719

  2. 找到微信目录,对应(我的是680ExxxxxxxF6199118);在当前目录搜索wxapkg

    可以发现小程序包存放的完整目录为:/var/mobile/Containers/Data/Application/<wechat sandbox>/Library/WechatPrivate/<userid>/WeApp/LocalCache/release/

    其中wechat sandbox为上面的id,userid为微信账号id的md5。

    进入后有很多wx...开头的文件夹,其为每个小程序对应的AppId。每个文件夹中都存放着对应小程序的wxapkg包。 image-20221013224618840

    Appid获取:

    1、抓包详见Appid获取,,随便找个app抓个包

    2、删掉其他小程序,只留待测的

    3、待测小程序删掉重进,看修改日期

    image-20221013230456471

  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"

    image-20221013224352704

解包

工具:wxappUnpacker,命令行版不收费

使用:

解包主包:./bingo.sh testpkg/master-xxx.wxapkg
解包子包:./bingo.sh testpkg/sub-1-xxx.wxapkg -s=../master-xxx

待续...

updatedupdated2022-10-132022-10-13