准备
iTunes 12.6.3 (Mac os 10.14 Mojave用不了12.6.3)
Charles 4.2.7 (解压密码:xclient.info)
资源传送门(提取码:p67f)
如果系统安装了高版本iTunes,可以参考Mac 卸载iTunes,安装旧版本iTunes运行的时候会提示iTunes Libraray.itl由高版本创建,可以按住"Option"键双击iTunes,创建资料库。
安装&配置Charles
1.运行Charles后,先安装证书

2.信任证书

3.重新打开Charles,开启Mac OS全局代理

开始抓包
- 打开iTunes,搜索微信(随便试一下,想抓什么包看自己需求),点击下载
- 回到Charles,查看类似
https://p2-buy.itunes.apple.com
字眼的请求,对其下断点,并且Enable SSL Proxying
断点请求、开启SSL代理
- 回到iTunes资料库中删除下载的微信,并重新搜索,再次点击下载
-
Charles会对请求断点,点击两次Execute
继续请求
- 在新的
https://p2-buy.itunes.apple.com
中查找我们需要的版本ID,具体如下图
获取历史版本ID
- 这里我选择第一个版本ID,也就是3328911(对应微信应该是1.0),版本ID查询
- 本次完成后Charles可能会断住,直接点击Execute,然后重复第3步(回到iTunes资料库中删除下载的微信,并重新搜索,再次点击下载),这个时候Charles又会断住,就在这里修改我们想要的版本号,具体如下图
修改成需要下载的版本ID
PS:修改完成之后一直点Execute让请求继续,iTunes会自动开始下载
8.post一下下载的微信1.0

后来又测试了一下,其实是可以先用网页查询自己所需的版本ID,然后在第二次下载请求下载断点处修改Request也可以达到效果,也就是说可以省去从请求数据中查找版本ID的步骤。
网友评论