【技术宅拯救世界】利用fiddler实现ios历史(旧)版本程序的安装

版权声明:转载请注明我的个人微信平台 暴沸 https://blog.csdn.net/baofeidyz/article/details/61924602

2018年1月18日更新:

今天突然发现Windows平台最新的iTunes客户端找不到应用程序这个分类了,在网上搜了一下,苹果从这个版本开始不再支持使用iTunes下载应用程序,只能通过我们的iPhone或者是iPad下载应用了,本人有点沮丧。但是理论上来说还是可以用抓包的方式来实现下载旧版本的应用程序的,只是我现在对这个不再需要了,所以暂时不折腾了。
这里写图片描述


在苹果的世界里面似乎没有“后悔药”这个东西,假如你在app store里面更新了应用程序,但是往往都是些无用的更新。
幸好我们可以利用一些网络相关的知识来达到我们的目的,也就是抓包。

第一步,我们需要准备好相关的工具

第二步,安装工具

最简单的下一步,就不讲述了。

第三步,打开fiddlerhttps的支持

这里写图片描述

这里写图片描述

第四步,抓包获取版本号

在打开fiddler的情况下,打开itunes软件,并在itunes store中搜索你想要的app名称,比如我在这里搜索“锤子便签”

这里写图片描述

然后我们在fiddler 中设置一个断点:

注意左下角的黑框

这里写图片描述

输入bpu MZBuy.woa 后记得敲回车

这里写图片描述

看到这样的提示就代表你的断点已经设置成功了!

接下来我们回到itunes 继续下面的操作。

我们在itunes 中点击“获取”或者是“下载”。

然后我们会发现itunes 是无法执行下载操作的。

我们回到fiddler可以看到:

这里写图片描述

这就是之前我们设置的那个断点了。

接下来我们直接鼠标点击这条信息

这里写图片描述

当我们点击Run to Completion 时就代表我们允许执行。(itunes就会开始下载锤子便签了)

重点来了!

当你点击了Run to Completion后,我们需要拿到这个包的数据。
由于使用的是https协议,所以我们需要先做解密工作,否则得到的密文我们也没办法看懂。

这里写图片描述

注意我圈中的部分,然后我们点击Response body is encoded.Click to decode

紧接着我们通过鼠标右键的操作将这个报文保存到本地:

这里写图片描述

然后我们直接打开这个xml文件:

找到下面的这个<array></array>标签

<integer></integer> 标签包裹住的就是每一个版本的版本号了。

至于每一个数字是如何对应版本的,我也没找到办法,都是一个一个的尝试。如果你有办法能够直接匹配到具体的版本的话,请告诉我,感谢。

  <array>
    <integer>565742666</integer>
    <integer>588672665</integer>
    <integer>596014985</integer>
    <integer>651202716</integer>
    <integer>690942919</integer>
    <integer>721203962</integer>
    <integer>811552789</integer>
    <integer>812169592</integer>
    <integer>812321229</integer>
    <integer>812577649</integer>
    <integer>813121909</integer>
    <integer>813309207</integer>
    <integer>813418287</integer>
    <integer>813535802</integer>
    <integer>813979194</integer>
    <integer>814011824</integer>
    <integer>814100404</integer>
    <integer>814263223</integer>
    <integer>814381079</integer>
    <integer>814709858</integer>
    <integer>815209911</integer>
    <integer>815234208</integer>
    <integer>815406075</integer>
    <integer>815585543</integer>
    <integer>815588372</integer>
    <integer>815623699</integer>
    <integer>817328871</integer>
    <integer>817459467</integer>
    <integer>817646913</integer>
    <integer>817684543</integer>
    <integer>819233112</integer>
    <integer>819389587</integer>
    <integer>819731609</integer>
    <integer>820140768</integer>
  </array>

第五步,利用断点修改报文下载我们想要的程序版本!

一定要保持之前的断点!

然后我们刷新itunes,再次执行下载操作。

和刚才一样,由于fiddler中设置了断点,所以itunes是无法正常下载程序的,这时候我们回到fiddler中修改报文。

这里写图片描述

注意看右边的红框,记得改成TextView

看到这串数字了吗?是不是感觉很熟悉!?

接下来就很简单了。

我们将之前获取到那个xml文件中的数字复制到这里

这里写图片描述

然后我们再直接点 Run to Completion itunes就会下载我们想要的那个旧版本的软件了。

温馨提示

由于有时候itunes不是很稳定,有时候当我们修改报文以后itunes的下载速度几乎就是几k/s,这个时候我们要果断的取消下载,然后重新操作即可。

还有一点,有些软件自身有版本过旧的检测,比如天猫。

其实很多软件真的没必要升级,比如百度贴吧。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页