轩枫阁

首页 / 互联网 / 【技术贴】IOS如何下载旧版本应用APP

【技术贴】IOS如何下载旧版本应用APP

前言

有时IOS应用更新至最新版本之后,新版UI风格、使用习惯、功能不喜欢,但又不知道如何降级安装旧版本。例如UC浏览器2016年春节前更新版本,因某些原因下架了文件管理、离线视频、微信分享等功能,其App Store评分从四星半降至1星。

同步助手曾提供下载App历史版本的功能,但现在也不复存在。

本文将介绍如何使用iTunes下载安装App Store任意版本旧程序。技术贴,需要大家耐心阅读,理解实现原理,一步一步操作,不熟悉的话可能需要花费1-2小时的时间。

iphone-6-review-display-app-store-

实现原理

  1. IOS软件下载必须使用自己的Apple ID登录itunes,才能在iPhone上安装
  2. 通过抓包软件查找App的历史版本ID
  3. 通过抓包软件修改下载请求,将请求中最新版本的ID改成历史版本ID,成功下载指定版本App

操作步骤

主要分为以下三步:

  1. 下载安装itunes、fiddler,设置fiddler并安装证书
  2. 找到想要下载APP版本对应的版本ID
  3. 找到版本ID后,修改下载请求,下载安装

第一步、准备工作

1.1 下载安装itunes、fiddler

  1. 下载安装iTunes,熟悉使用iTunes的App Store。
  2. 下载安装Fiddler(官网下载、或者百度搜索Fiddler安装、交流群可下载)
  3. 或者使用本站提供的版本Fiddler4 v4.6.0.1推荐下载此版本

win8以上系统建议安装Fiddler for .NET4,win7也建议安装Fiddler4.

werfwetr2

1.2 设置Fiddler

打开 Fiddler,选择菜单栏 -> Tools -> Fiddler Options,在 HTTPS 选项卡中勾选 Decrypt HTTPS traffic,然后重启Fiddler。

esdgs

1.3 安装Fiddler证书

如果在Fiddler的使用过程中,提示Certificate Error证书错误,可以选择Yes忽略错误或者安装证书,教程请参考附录

1.4 关于教程图

本文配图均为高清1:1配图,看不清的清点击图片看大图,或再查阅原图。

第二步、查找版本ID

以UC浏览器为例,需要下载10.7.11版本,含有视频缓存下载功能。

2.1 打开iTunes,搜索要下载的App

sdfdsfdsf

2.2 点击下载或更新,等右上角出现箭头后删除下载

选中下载按2次Delete键即可删除。(如果不小心下载了,可以点下载或更新上面的图标,刷新页面,等按钮灰置之前,马上点击更新)

sdfdsfsdf

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的版本。

sdfgdsgfdgfdgfk

2.4 保存该请求

第3步找到请求后,右键请求 -> Save -> Response -> Response Body。需要注意的是,如果没有点击黄色方块,将会保存一个乱码文件。

fdsfdsfdsf

2.5 寻找App版本列表

可以拖拽到浏览器中打开该文件,搜索找到 softwareVersionExternalIdentifiers,其后一系列数字为该APP历史版本号

从上往下为该 App 自第一个版本起每个版本在 App Store 中的版本 ID。

sffsfcdzcszfdcsdff

2.6 模拟请求查找版本

将第3步找到的请求,拖拽至Fiddler右侧Composer栏。

在Request Body中找到appExtVrsId位置,编辑右侧数字内容即版本号。版本号从第5步中从后几个id中挑选。如把图中816384552替换成813819687。

最后点击右上角Execute按钮。(如果出现左侧红色图标,则在左下角黑色框输入bpu取消断点)

ewfwefewgvwerdg

2.7 确认ID对应的版本号

左侧列表底部找到新请求,点击展开Inspectors页面,点击黄色块。

右侧面板,下面一栏,切换到TextView,搜索bundleShortVersionString,可找到ID对应版本号。

如刚才输入的ID是813819687,查询出对应的版本是10.7.11。如果版本不正确,可重复第6步一次寻找。

最终确认要下载的版本ID,如10.7.11版本要UC的视频缓存功能。

dsfdsafdsff

fdhsf

第三步、下载APP

3.1 拦截下载请求

确认需要下载的版本ID后,复制。例如,下载UC浏览器10.7版本的ID为814450049。

在 iTunes 中重新搜索App。

然后切换到Fiddler,清空请求(快捷键CTRL+X),在左下角黑色输入框输入命令打开断点 bpu MZBuy.woa 回车(取消断点为输入bpu

FGSDGVSRSesfwerf

返回 iTunes, 点击下载或更新。

3.2 修改下载请求

回到 Fiddler 后会出现红色图标的请求,点击请求显示Inspectors栏。

在TextView窗口,找到appExtVrsId 位置,下一行数字及为当前下载的版本ID。

编辑版本 ID 为需要下载的版本 ID,如上面查询到的814450049。

wefserfrg1f

3.3 确认下载

最后点击绿色按钮(Run to Completion)发送请求,进行下载。

下载过程中需要保持 Fiddler 和 iTunes 一同打开,不关闭。

如果长时间下载没反应,先暂停下载,点击Fiddler左下角Capturing取消拦截请求,再继续下载即可。

3.4 下载安装

App下载可在itunes右上角查看进度。

完毕后,切换到应用界面,右键打开下载文件所在文件夹,找到.ipa安装包,在常用的软件(PP助手、iTools)中安装即可。

fseaes

sfdsfsaf

本技术教程需要耐心花时间去操作,如果你已成功下载,恭喜你。

如果觉得有用,欢迎转发到微博或者微信分享到朋友圈,非常感谢。

附录

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 或 根据以下步骤安装证书:

  1. Fiddler 菜单栏 > Tools > Fiddler Options > HTTPS 选项卡
  2. 点击左下方的 Export Root Certificate to Desktop按钮
  3. 桌面上会出现一个“FiddlerRoot.cer”文件,右键安装证书
  4. 安装证书的位置选择第二项,并点击“浏览”,选择“信任的根证书存储”。

dsfdsfdsf

asdfsaf1

fgsdafgsdaf2

3. itunes打开白屏怎么办?

Fiddler和itunes同时打开的情况下,可能会搜索不出来,页面白屏。

  • 把Fiddler设置成不拦截请求:点击Fiddler左下角Capturing按钮,按钮消失即为不拦截
  • 在itunes进行搜索
  • 点击Fiddler左下角Capturing按钮,将拦截按钮显示,即可正常看到请求

sdf8

4. Fiddler找不到itunes的请求怎么办?

一直不出现itunes的请求的话,可能版本不对或者证书没装上,建议安装Fiddler4,然后重装证书,应该可以出现。

safdsfd1

5. 不能创建证书提示fiddler2 unable to generate certificate怎么办?

在创建证书的时候,如果提示fiddler2 unable to generate certificate,无法导出安装证书,将会导致https的包无法解开。

比较简单的解决方案是安装下载这个程序 fiddlercertmaker

https的请求由灰变蓝即可。

具体提示如下:

6. 如何关闭Fiddler请求拦截

在开着Fiddler的时候,itunes可能会出现提示重新登录或者登录失败的情况(连不上服务器),解决方案为将Fiddler取消请求拦截,itunes登录之后,Fiddler再进行请求拦截。具体切换操作如下:

点击Fiddler左下角Capturing按钮即可,再点击即可打开

capturing

7. UC浏览器精彩评论

IMG_7556

交流群

如果以上步骤有不了解或者不成功的,请加IOS旧版本APP下载交流群 528490657

(下载旧版本APP需要登录自己的Apple ID进行下载,所以只能自己学习操作;如有问题请截图并注明步骤在群里提问)

1478083955138

(QQ扫码)

83/470
85/470

相关阅读

文章评论

  • 成功下载的小伙伴,留言打个卡好嘛?

    • 炒鸡感谢!

  • 楼主,我在测试下载网易云音乐旧版本时候出错了,好像是不让下载旧的,但是我有这刚需,因为我的iOS9.3.3不兼容新版本。。蓝瘦,香菇 发不了图,加QQ吧、 962076337 ^_^

    • 有QQ群呢,看文章

  • 大家有遇到问题的,可以在关于&留言页面 http://www.xuanfengge.com/about-message ,找到微博/QQ,带上截图私信

  • 你好,请问为什么我在第7步重新下载时并没有红色图标的请求呢。谢谢 版本不一样呢

    • 在左下角黑色输入框输入 bpu MZBuy.woa,再重新下载

  • 开启了Fiddler打开itunes商店无法显示按教程安装了证书也还是不行。我用Fiddler2

    • 能截个图吗?Fiddler收到的灰色请求xxx:443?

      • 我的也是安装了证书也不行

  • 过来看看你的博客,希望每天都更新一些文章。

  • 你好,请问为什么我在第7步重新下载时并没有红色图标的请求呢。谢谢

  • 非常感谢你的教程已经成功下载旧版APP

  • 哈哈哈哈,一定要评论一定要评论,这个可帮了我大忙了。说说我的情况吧,5月底的时候,我通过 iTunes 连接 iPhone (IOS 9.3.2,暂时无法越狱),通过文件共享功能向爱奇艺的 APP (版本7.4)拷贝了许多的资料。后来在 6 月初的时候,爱奇艺进行的升级(7.5),取消了文件共享这一功能,直接导致我之前拷贝进去的资料无法拷出来。这么尴尬的问题都让我遇到了我也认了,然后我打爱奇艺电话,问他们怎么可以把东西拷出来,答案是没办法。然后我问,为什么做这么大的改动,在更新日志里面没有任何说明,答案是,不知道。然后试了各种办法都不行,直到遇到了这个帖子。现在东西已经在往外拷了。谢谢,谢谢,非常感谢。

    • 当时也是试了好久,降回旧版后身心舒畅 不过APP取消这些功能也迫不得已的

    • 123

      请教一下,这样抓包下载和用一些同步推/PP助手等下载的APP一样么?会不会闪退?

  • 还有个办法查看版本,从APPstore中查看版本更新记录,一个记录对应一个版本号,想要下载哪个版本就倒着数就行了,这样可以根据更新内容下载自己想要的旧版本app

    • 可以

  • 已转载

  • 感觉有点麻烦!还是越狱了方便,一个插件就可以了。

    • 没越狱过额~

  • 有点麻烦 一般人 没这耐性

纸飞机许愿

x

钢琴节奏

请选择弹奏的曲谱

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2

    [返回曲谱列表]

    点击开始录制,可以录制弹奏的曲子