前言
有时IOS应用更新至最新版本之后,新版UI风格、使用习惯、功能不喜欢,但又不知道如何降级安装旧版本。例如UC浏览器2016年春节前更新版本,因某些原因下架了文件管理、离线视频、微信分享等功能,其App Store评分从四星半降至1星。
同步助手曾提供下载App历史版本的功能,但现在也不复存在。
本文将介绍如何使用iTunes下载安装App Store任意版本旧程序。技术贴,需要大家耐心阅读,理解实现原理,一步一步操作,不熟悉的话可能需要花费1-2小时的时间。
实现原理
操作步骤
主要分为以下三步:
第一步、准备工作
1.1 下载安装itunes、fiddler
win8以上系统建议安装Fiddler for .NET4,win7也建议安装Fiddler4.
1.2 设置Fiddler
打开 Fiddler,选择菜单栏 -> Tools -> Fiddler Options,在 HTTPS 选项卡中勾选 Decrypt HTTPS traffic,然后重启Fiddler。
1.3 安装Fiddler证书
如果在Fiddler的使用过程中,提示Certificate Error证书错误,可以选择Yes忽略错误或者安装证书,教程请 。
1.4 关于教程图
本文配图均为高清1:1配图,看不清的清点击图片看大图,或再查阅原图。
第二步、查找版本ID
以UC浏览器为例,需要下载10.7.11版本,含有视频缓存下载功能。
2.1 打开iTunes,搜索要下载的App
2.2 点击下载或更新,等右上角出现箭头后删除下载
选中下载按2次Delete键即可删除。(如果不小心下载了,可以点下载或更新上面的图标,刷新页面,等按钮灰置之前,马上点击更新)
2.3. 在Fiddler查找相关请求
找到pxx-buy.itunes.apple.com、URL开头为 /WebObjects/MZBuy.woa 的请求,双击请求切换右侧至 Inspectors 选项卡,并点击中间的黄色块(Response is encoded and may need to be decoded before inspection. Click here to transform.)
备注:如果相关https请求表现为Tunnel to(灰色文字),需要检查证书是否成功安装、HTTPS设置是否打开,再不行就下载步骤1.3的版本。
2.4 保存该请求
第3步找到请求后,右键请求 -> Save -> Response -> Response Body。需要注意的是,如果没有点击黄色方块,将会保存一个乱码文件。
2.5 寻找App版本列表
可以拖拽到浏览器中打开该文件,搜索找到 softwareVersionExternalIdentifiers,其后一系列数字为该APP历史版本号。
从上往下为该 App 自第一个版本起每个版本在 App Store 中的版本 ID。
2.6 模拟请求查找版本
将第3步找到的请求,拖拽至Fiddler右侧Composer栏。
在Request Body中找到appExtVrsId位置,编辑右侧数字内容即版本号。版本号从第5步中从后几个id中挑选。如把图中816384552替换成813819687。
最后点击右上角Execute按钮。(如果出现左侧红色图标,则在左下角黑色框输入bpu取消断点)
2.7 确认ID对应的版本号
左侧列表底部找到新请求,点击展开Inspectors页面,点击黄色块。
右侧面板,下面一栏,切换到TextView,搜索bundleShortVersionString,可找到ID对应版本号。
如刚才输入的ID是813819687,查询出对应的版本是10.7.11。如果版本不正确,可重复第6步一次寻找。
最终确认要下载的版本ID,如10.7.11版本要UC的视频缓存功能。
第三步、下载APP
3.1 拦截下载请求
确认需要下载的版本ID后,复制。例如,下载UC浏览器10.7版本的ID为814450049。
在 iTunes 中重新搜索App。
然后切换到Fiddler,清空请求(快捷键CTRL+X),在左下角黑色输入框输入命令打开断点 bpu MZBuy.woa 回车(取消断点为输入bpu)
返回 iTunes, 点击下载或更新。
3.2 修改下载请求
回到 Fiddler 后会出现红色图标的请求,点击请求显示Inspectors栏。
在TextView窗口,找到appExtVrsId 位置,下一行数字及为当前下载的版本ID。
编辑版本 ID 为需要下载的版本 ID,如上面查询到的814450049。
3.3 确认下载
最后点击绿色按钮(Run to Completion)发送请求,进行下载。
下载过程中需要保持 Fiddler 和 iTunes 一同打开,不关闭。
如果长时间下载没反应,先暂停下载,点击Fiddler左下角Capturing取消拦截请求,再继续下载即可。
3.4 下载安装
App下载可在itunes右上角查看进度。
完毕后,切换到应用界面,右键打开下载文件所在文件夹,找到.ipa安装包,在常用的软件(PP助手、iTools)中安装即可。
本技术教程需要耐心花时间去操作,如果你已成功下载,恭喜你。
如果觉得有用,欢迎转发到微博或者微信分享到朋友圈,非常感谢。
附录
1. 部分APP版本ID及介绍
APP版本 | 版本ID | 简介 |
---|---|---|
UC浏览器 V10.7 | 814450049 | 能离线视频缓存 |
QQ浏览器 V6.1.1 | 813125939 | 能缓存视频 |
QQ空间 V5.1.1 | 811660738 | 动态浏览无广告 |
百度云 V6.6.0 | 812649628 | 支持解压文件,支持视频接入WIFI自动上传 |
百度贴吧 V6.9.6 | 814101616 | 能本吧内搜索 |
支付宝 V9.2 | 813710368 | 越狱也能使用指纹支付 |
网易新闻 V3.6.2 | 16708686 | 广告少 |
爱奇艺 V5.7.1 | 759732747 | 无片头广告(目前已不能下载,官方不放出旧版本) |
蜻蜓FM V4.7.6 | 813883538 | 无音频广告 |
追书神器 V2.23.1 | 812773310 | 依然有广告,不需要追书币追根模式健在 |
酷狗音乐 V3.9.4 | 276022645 | 纯粹的播放器 |
115网盘 V6.0.0 | 816723879 | 支持添加离线下载 |
2. Fiddler安装证书
如果在Fiddler的使用过程中,提示Certificate Error证书错误,请选择Yes 或 根据以下步骤安装证书:
3. itunes打开白屏怎么办?
Fiddler和itunes同时打开的情况下,可能会搜索不出来,页面白屏。
4. Fiddler找不到itunes的请求怎么办?
一直不出现itunes的请求的话,可能版本不对或者证书没装上,建议安装Fiddler4,然后重装证书,应该可以出现。
5. 不能创建证书提示fiddler2 unable to generate certificate怎么办?
在创建证书的时候,如果提示fiddler2 unable to generate certificate,无法导出安装证书,将会导致https的包无法解开。
比较简单的解决方案是安装下载这个程序
。
https的请求由灰变蓝即可。
具体提示如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
---------------------------
Unable to Generate Certificate
---------------------------
Creation of the interception certificate failed.
makecert.exe returned -1.
Results from C:\Program Files\Fiddler2\MakeCert.exe -ss my -n
"CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by
http://www.fiddler2.com" -eku 1.3.6.1.5.5.7.3.1 -r -cy authority -a
sha1
Error: Can't create the key of the subject ('JoeSoft')
Failed
-------------------------------------------
|
6. 如何关闭Fiddler请求拦截
在开着Fiddler的时候,itunes可能会出现提示重新登录或者登录失败的情况(连不上服务器),解决方案为将Fiddler取消请求拦截,itunes登录之后,Fiddler再进行请求拦截。具体切换操作如下:
点击Fiddler左下角Capturing按钮即可,再点击即可打开
没有评论:
发表评论