0x0 背景
近几年iOS
的安全一直在加固,导致越狱越来越难出现。不过我本身越狱的原因最重要的一部分就是安装第三方App。虽然AltStore
和Sideloadly
的出现让证书续签能够自动化,但不常用的机子还是免不了隔三差五需要重新安装的情况出现。
不过苹果倒也在在一些小的方面多次搞砸过。比如多个漏洞导致的MacDirtyCow
利用及后续的KFD
利用,它们能实现内核内存读写,催生了一些修改系统字体、进入监管模式等一些工具的出现。前者支持到iOS 16.1.2
后者支持到iOS 16.6b1
。
而CoreTrust
漏洞导致TrollStore
的出现,它是个能永久签名应用的工具,且安装好后不需要借助PC
,支持到iOS 15.6
。并且由于其安装的App为系统应用,还具有更高的权限,如开启JIT
、调用通知接口等。后来苹果第二次搞砸CoreTrust
漏洞为TrollStore
添加了到iOS 17.0
的支持。
刚好我的设备为了利用MacDirtyCow
以及后续可能出现的越狱,Delayed OTA到iOS 16.1.2
后就一直没升级过,这次就准备安装TrollStore 2
。
其实还可以保留TrollStore
并更新到iOS 17.0
。
需要注意Delayed OTA到iOS 17.0截止至2023年12月20日。
0x1 步骤
其实国外大佬们已经写好了详细的安装步骤。针对不同机型的不同系统版本,安装方式也不尽相同,且伴随工具的更新也会有不同程度的优化,建议自行参考国外的最新安装教程安装。而如果想要升级到iOS 17
,还需要结合做些额外的操作来保留TrollStore
。
简要步骤(详细步骤建议查看原版教程):
iOS 16.1.2
所有机型可以使用TrollInstallerMDC工具来安装。
- 确保
iOS
自带的系统应用提示
还在,如果删除了那就去下载回来。之后会将提示
应用替换为工具软件。 - 手机开启开发者模式。
- 使用Sideloadly签名并安装
TrollInstallerMDC
。 - 信任安装好的
TrollInstallerMDC
。 - 打开
TrollInstallerMDC
并授权。 - 等待其出现
Successfully replaced Tips binary
的日志出现,这说明提示
应用已经被替换了。 - 打开
提示
。 - 点击
Install TrollStore
并等待完成。 - 卸载重装
提示
应用。 - 桌面上找到
TrollStore
并打开。 - 点击
Settings
并选择Install Persistence Helper
。 - 寻找你想替换为工具的系统应用,可任意选择,这里还是选择
Tips
。 - 打开
提示
应用发现是TrollStore Helper
,证明安装成功了。
至此iOS 16.1.2
上的TrollStore 2
就安装完成了。如果想要更新到iOS 17.0
,那么继续做以下步骤。
避免TrollStore被删除
- 下载Filza文件管理器并通过
TrollStore
安卓,后面用于获取并赋权工具应用为了保险更新后能够找回。 - 打开
Filza
,选择底栏的星形按钮,选择App管理器
。 - 找到
提示
应用,点击其右侧的信息图标按钮。 - 点击
主程序
,找到Tips.app
,再次点击信息按钮。 - 将路径复制出来,类似
/var/containers/Bundle/Application/6797F3A7-0BE1-4C6B-A2E8-42BDE9F975BD
。 - 拼接命令为
chflags -R schg,schange,simmutable /var/containers/Bundle/Application/6797F3A7-0BE1-4C6B-A2E8-42BDE9F975BD
。 - 再次点击下方的星形按钮,选择
[Root]
。 - 找到
/usr/bin/vm_stat
并点击运行。 - 粘贴进命令并执行。
- 再次回到第4步中
Tips.app
的位置,尝试左滑删除,如果提示没有权限导致删除失败,那就成功了。如果被删掉了就重新下载回提示
应用并重复上面的操作。
Delayed OTA更新至 iOS 17.0
Windows
电脑使用Updating (Blobless) (Advanced)中提到的Cowabunga Lite
实现(其实16.1.2可以直接在手机上用Cowabunga进入监管模式)。- 关闭设备中的
查找
功能。 - 下载并打开Avangelista/CowabungaLiteWindows (github.com)。
- 连接设备到电脑。
- 找到
Setup Options
点击Enable Supervision
并打勾。 - 点击
Apply
,Apply Changes
,手机会重启进入监管模式。 - 设备中在
Safari
浏览器打开Delayed OTAs - ramblings (dhinakg.github.io)并下载iOS 17 (21A329)
的描述文件。 - 设置中安装下载的描述文件。
- 点开设置->通用->软件更新->升级到iOS17。确保显示的版本是
iOS 17
。 - 上滑,清掉所有应用。
- 打开
TrollStore
及提示(其实打开显示替换后的TrollStore Helper)
。 - 进到设置开始更新系统,确保
TrollStore
和提示
在后台运行。 - 更新完成后从后台切出
提示(TrollStore Helper)
,点击Refresh App Registrations
。 - 参考上面步骤,换条命令执行
chflags -R noschg,noschange,nosimmutable /var/containers/Bundle/Application/6797F3A7-0BE1-4C6B-A2E8-42BDE9F975BD
,还原文件夹权限。 - 卸载
提示
,并重新下载安装。 - 打开
TrollStore
,点击Settings
并选择Install Persistence Helper
进行重装。
0x2 结尾
至此安装及升级就完成了,但我更新到iOS 17.0
的中途还是后悔放弃了。新版本iOS
并没有什么重大更新,而且更新后会同时失去MacDirtyCow
和KFD
,可玩性大大降低。目前也没听说有什么漏洞可供利用。