移动端设计研发

iOS利用iTunes获取应用包

2018-08-22  本文已影响30人  可惜你不是我的双子座

iTunes升级到12.7.0.166之后移除了App Store的功能。苹果官方提供了iTunes 12.6.3支持的App StoreiOS 11,下载地址为iTunes12.6.3.dmg
这个时候我们按照常规的打开iTunes应用时,会提示iTunes Library.itl由高版本创建,资料库无法打开,如下图。

错误提示.png
重新退出应用后,按住option键双击打开iTunes,单击创建资料库,如下图。
按住option键双击打开iTunes.png
创建资料库.png
打开iTunes之后,勾选应用,如下如。
选择应用.png
这时,在右上角的搜索框中输入想要下载的应用名称,如下图。
搜索微信.png
单击搜索列表中对应应用的获取或者下载按钮,即可下载该应用最新版本的ipa文件,如下图。
下载微信.png
下载之后,在资料库中找到刚刚下载的应用,单击右键,在弹出的快捷菜单中选择在Finder中显示选项,如下图,就会定位Finder所对应的ipa文件的位置了(这里下载的是微信 6.7.1)。
微信.png
通过这种方式只能下载最新版本的应用。下面介绍一种结合Charles下载早期版本应用的方法。(以网易云音乐为例)
打开Charles,设置Mac OS全局代理,
1.设置`Mac OS`全局代理
然后下载你需要获取应用,即可在Charles中看到类似https://p7-buy.itunes.apple.com。对该请求下断点,图中2的原因后面会说。
断点
然后删除资料库中已经下载的应用,重新单击获取应用的按钮,就会触发断点。在Request发出时,单击Execute按钮继续发送请求。
单击Execute按钮
Response会再次触发该断点。单击Edit Response选项,选择XML Text选项,可以看到类似如下的内容。
内容
如果你出现如下错误,是因为没有支持对https的请求,只需点击断点图中2的位置
错误
选出我们需要的那部分内容:
<key>softwareVersionBundleId</key><string>com.netease.cloudmusic</string>
  <key>softwareVersionExternalIdentifier</key><integer>828090879</integer>
  <key>softwareVersionExternalIdentifiers</key>
  <array>
    <integer>812932579</integer>
    <integer>812945326</integer>
    ......
    <integer>827420055</integer>
    <integer>827635604</integer>
    <integer>828090879</integer>
  </array>

解释一下这里的含义

摘抄至iOS应用逆向与安全,想提升自己,建议购买此书。

上一篇下一篇

猜你喜欢

热点阅读