下载App Store商店软件的历史版本

一个“ 只可意会不可言传 ”的原因,就是Telegram X的新版本屏蔽了很多功能,比如说群组功能,我关注的黑苹果群组不知道为什么也被屏蔽了,多么正常不过的群组了。

虽然我有一个Android手机,但是用起来还是不是特别的习惯。主要是因为有一些APP总是要求很多权限(通讯录、短信),不同意还不让用,这个让我很头疼,所以Android手机只用来作为一个备机,打电话用。

为了使用一些APP store的历史版本,我们这里通过“ 自己动手丰衣足食 ”的方式,来手动提取一下App store软件的历史版本。

本文的前提就是一定要有折腾的精神。

准备工作

首先我们下载相关软件

安装iTunes

默认的安装,不在进行赘述,这里只放几张比较重要的截图。

我这里安装的版本是12.6.3.6 x64

已经安装完成

点击音乐栏

我们下拉里面,把应用勾选上。

配置Fiddler

安装都是下一步,这里我们直接说配置

选择Tools->Options

选择HTTPS,勾选Decrypt Https traffic,然后选择Actions,点击Trust Root Certificate

选择Yes

选择是

点击确定

选择Actions,然后点击Export Root Certificate to Desktop

这时候我们在桌面上可以看到这个文件了,我们双击运行。

选择安装证书

下一步

下一步

点击完成即可

这时候,Fiddler已经配置完成了。

拦截下载请求

拦截下载请求其实两种方式

  • 可以搜索到的项目:可以再右上角进行搜索,如下图所示,然后可以点击下载
  • 无法搜索到的项目:比如Telegram X,所以就需要点击账户,已购买找到对应的软件,点击下载。(因涉及到已购买内容,不进行截图展示了)

搜索要下载历史版本软件

下面我们打开拦截器(关闭为Disabled 或者 Shift+F11)

Rules->Automatic Breakpoints->Before Requests(也可以直接按F11快捷键)

打开拦截之后,我们在iTunes里面点击搜索到的软件的download。

这时候我们就会看到p{随机数字}-buy.itunes.apple.com.....,这个请求已经被拦截了,第一个请求我们直接放行。run to completion

Run to Completion

当放行之后,我们可以看到一个/WebObjects/MZBuy.woa的一个请求。 这里我们为了看下他的报文,所以这里我们也放行。

Run to Completion

放行之后,我们保存一下这个请求的返回内容。

我们可以打开这个返回报文看一下,其中有如下几个比较重要的地方。


  <key>bundleDisplayName</key><string>Telegram</string>
  <key>bundleShortVersionString</key><string>5.9.1</string>
  <key>bundleVersion</key><string>14032</string>

这三条信息分表示,软件名称,软件短版本号,软件版本号

然后我们还可以看到请求的当前版本号softwareVersionExternalIdentifier对应的831921882


<key>softwareVersionExternalIdentifier</key><integer>831921882</integer>

这个软件的所有版本都在softwareVersionExternalIdentifiers里面了


<array>
    <integer>16060826</integer>
    <integer>16159726</integer>
    <integer>50482675</integer>
    <integer>269172631</integer>
    <integer>322792634</integer>
    <integer>368953255</integer>
    <integer>454262719</integer>
    <integer>483832637</integer>
    <integer>721223069</integer>
    <integer>755542641</integer>
    ......
    <integer>831393158</integer>
    <integer>831492162</integer>
    <integer>831738526</integer>
    <integer>831792785</integer>
    <integer>831887064</integer>
    <integer>831921882</integer>
    <integer>832197828</integer>
  </array>

通过上面我们可以看到,当前我们下载的是最新版本。我们后续要改的,也是从这些里面找到的一个值。(对于Telegram和Telegram X可以参考文章末尾)

下载App Store历史版本

我们照例打开拦截器,然后请求下载,照例第一个我们放行。

当放行之后,我们可以看到一个/WebObjects/MZBuy.woa的一个请求。我们在Fiddler右侧上面找到Inspector,然后点击TextView,修改key为appExtVrsId的值,也就是他下面的string为要下载的版本就好了。

当修改完成之后,我们点击放行。(注意要把其他的也都放行,可以Shift+F11进行解除)

DEMO

不知道,ipa是不是跟App id还有关系,网上提供的IPA有的时候会让输入APP ID,不知道是否是在IPA中有标记,所以我这里就不提供IPA的下载文件了,避免大家的怀疑病毒。

一些友情提供版本对应关系

软件版本对照
Telegram X5.0825367457
Telegram X5.0.2825798718
Telegram X5.0.5828444174
Telegram5.0.15829067717
Telegram5.0.16829166436
Telegram5.0.17829269862
Telegram5.1829338088
Telegram5.1.1829715805
Telegram5.2829822191

标签: AppStore