Brook Shiliew Cheap Zhi Meeting Nan mitmproxy client Network Activity Monitor iOS Old App Downloader SSH Terminal Subtitle 菜根谭 Socks5 Configurator IPvBar File Link Markdown Editor IP AI nami joker brook ipio nico z zoro hancock mad httpserver google hosts

使用 Brook 下载任意 iOS App 的旧版本

Updated at: 2024-12-25

最新:我发布了一个独立的 App 来简化下载历史 iOS app。

iOS Old App Downloader: https://www.txthinking.com/iosoldappdownloader.html

目的

从 AppStore 下载旧版本的 App,这里以 YouTube v17.15.1 为例

需要软件

  1. Brook.exe,并且已经安装了 CA
  2. iTunes64Setup.exe v12.6.5.3 此链接是从 apple.com 下载。(小提示:仅从软件相关官方网站下载是个好习惯)

理论上在 macOS 也行,但我没找到对应版本 iTunes 的下载地址

登录 iTunes 并设置下载无需密码

  1. 断开 Brook
  2. iTunes 菜单 -> 账户 -> 登录
  3. iTunes 菜单 -> 编辑 -> Preferences -> Store -> Purchases: Never Require. Free Downloads: Never Require

我们需要找到两个东西

  • appid: App ID
  • versionid: 历史版本 ID

找到 App ID 和历史版本 ID 列表

  1. 开启 Fake DNS
  2. 开启模块: Block google secure DNS
  3. 关闭 Bypass 相关的模块
  4. 开启模块: iOS app version list
  5. 连接 Brook。然后从 iTunes 里下载 YouTube iPhone App。
  6. MITM 日志里,你应该能看到一个 POST https://p52-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct,body 里即是。域名不一定和上面完全一样
  7. appid: body 里的 songId 即是。这里是 544007664
  8. versionid: body 里的 softwareVersionExternalldentifiers 这是个列表,你可以先记录一下

下载旧版本 App

  1. 修改模块: iOS app downgrade 里的 appid 为前面步骤看到的,比如 544007664
  2. 修改模块: iOS app downgrade 里的 versionid 为前面步骤看到的列表中的其中一个,比如 848374799
  3. 开启模块: iOS app downgrade
  4. 断开 Brook,重新连接。
  5. 从 iTunes 资料库 Library 右键删除刚才下载 YouTube App。重新下载 YouTube iPhone App。从资料库 Library 能看到已经下载的旧版本 YouTube,右键可以查看 ipa 位置。

如果发现下载的版本不是期望的版本。历史版本 ID 列表是顺序排列的,自己跳跃着下载下来看看,修改 versionid 并重复以上步骤重新下载

安装 ipa 文件到手机

这里使用 ideviceinstaller,macOS 有 brew 可以直接安装。Windows 不想自己编译的话,这里有编译好的,用这个吧先。

必须是同一个 Apple ID

  1. 先卸载 iPhone 上的 YouTube
  2. 把 iPhone USB 连线到 Windows
  3. 我用的是 GitBash
git clone https://github.com/iFred09/libimobiledevice-windows.git
cd libimobiledevice-windows
./ideviceinstaller.exe --install ~/Music/iTunes/iTunes\ Media/Mobile\ Applications/YouTube\ 17.15.1.ipa

遇到的情况分享一下:

  • ideviceinstaller 提示 Could not connect to lockdownd. Exiting.,我重新插拔了几次 USB 就可以了

视频

https://www.youtube.com/watch?v=-njbSgXRlAo

视频可能过时,但大体步骤仍可以参考

© TxThinking, Inc. All Rights Reserved.