在 2026 年把 iPhone 6s 降級到 iOS 9.3.3 並完美越獄

在 2026 年把 iPhone 6s 降級到 iOS 9.3.3 並完美越獄

因為之前把我的 iPhone 6s 刷爆了被弄上去 iOS 13.5 讓我很懊惱,前幾天爬文發現 A9 的 SEP 已經被破解了,那就來嘗試刷回 iOS 9.3.3 吧。

想不到 2026 年我還會寫降級 + 越獄教學吧 XD

0. 重要概念

這個流程裡有兩種不同的「untethered」:

  • Untethered restore:靠這台裝置自己的 iOS 9.3.3 SHSH2,讓 9.3.3 開機不依賴電腦。
  • Untethered jailbreak:靠 kokeshi 9.2-9.3.4 Untether,讓 jailbreak 在每次開機時自動生效。

兩者都完成,才是最後的完整狀態。

1. 必要條件

硬體與工具

  • A9 的裝置,我用的是 iPhone 6s Plus,機型識別碼 iPhone8,2
  • macOS 電腦與穩定的 Lightning 線;DFU 不穩時優先使用 USB-A to Lightning。
  • 最新可用的 turdus merula(內含 turdus_merulaturdusra1n)。
  • Legacy iOS Kit,用於 SSH ramdisk 與在未啟用的 iOS 9 上準備暫時的 jailbreak/bootstrap。
  • libimobiledevice 工具:ideviceinfoideviceactivationiproxy
  • 可在較新版系統使用的 jailbreak;本次在 iOS 10.3.3 使用 TotallyNotSpyware。
  • iOS 9.3.3 啟用前暫時使用的 Filza、OpenSSH 與 jailbreak/bootstrap。
  • 最終使用的 kok3shi9.ipa

韌體與簽章(以 iPhone 6s Plus 為例)

  • iPhone_5.5_15.8.8_19H422_Restore.ipsw
  • iPhone_5.5_10.3.3_14G60_Restore.ipsw
  • iPhone_5.5_10.2.1_14D27_Restore.ipsw
  • iPhone8,2_9.3.3_13G34_Restore.ipsw
  • 這台 iPhone 自己的 iOS 9.3.3 / build 13G34 官方 SHSH2。
  • SHSH2 內對應的 generator。

本次成功實例:

2. 最終路線總覽

2.1 起點:先升級到 iOS 15.8.8

本次實際流程最一開始先把 iPhone 6s Plus 更新/還原到:

截至本文整理時,iOS 15.8.8 是 iPhone 6s Plus 可用的 signed build。實作時 Apple 的 restore-image 下載入口似乎無法正常提供 iPhone 6s Plus IPSW,因此本次是從下列頁面下載:

這是第三方索引站。下載後務必確認:

  • 裝置型號與您的裝置相符。
  • 該 build 當下仍在 Apple 簽署;第三方網站只能提供檔案或索引,不能取代 Apple 的 restore 簽章驗證。
  • IPSW 能被 Finder 正常辨識,再開始後續流程。

3. turdus 的 A9 tethered restore 標準流程

10.3.3 與 10.2.1 都使用同一組邏輯:

先進入 turdus 目錄,解除 macOS quarantine:

以下每一次 turdusra1n 都依畫面提示進 Recovery / DFU。

3.1 現代 iOS → iOS 10.3.3

取得 10.3.3 pre-restore SHC:

block/ 找到剛產生的檔案,立刻另存明確名稱:

重新進 Recovery / DFU,執行 tethered restore:

Restore 完成後取得 post-restore SHC:

用 restore 過程產生的 signed-SEP.img4 取得 PTE:

Tether boot:

10.3.3 完成開機後,連線到 Wi-Fi 並正常完成 Apple activation。確認:

應看到:

本次在 10.3.3 不需要移動或移除 Setup.app。完成 activation 後直接重新開機,即可進入已啟用的系統。

非常懷念的 checkm8 畫面啊

4. 在 iOS 10.3.3 備份 activation records

在 10.3.3 用 TotallyNotSpyware 完成 jailbreak,安裝 Filza 與 OpenSSH。若透過 USB SSH:

保持上面視窗開啟,另一個 Terminal 連線:

4.1 在手機上建立備份

備份 FairPlay:

備份 CommCenter:

備份 factory data:

找出 mobileactivationd container:

記下路徑中的 UUID,以下以 <IOS10-UUID> 表示:

4.2 拉回 Mac

-O 會強制新版 OpenSSH 使用傳統 SCP protocol,避免舊 iOS SSH server 的 SFTP path canonicalization 問題。

4.3 降級前驗證備份

至少必須有:

mobileactivationd-Library.tar 必須能列出:

未確認完整前,不要繼續 restore。

5. iOS 10.3.3 → iOS 10.2.1 中繼系統

A9 裝置要 restore 到 iOS 9.0–9.3.5,必須先經過 iOS 10.2.1。不能省略這一段,也不能拿 10.3.3 的 SHC/PTE 混用。

其實步驟就跟降級 10.3.3 一樣,只是做 10.2.1 的版本而已。

取得 10.2.1 pre-restore SHC:

Tethered restore:

取得 post-restore SHC 與 PTE:

Tether boot 10.2.1:

10.2.1 開機後連 Wi-Fi,正常完成 Setup 與 activation,並確認:

本次成功路線是在 10.2.1 顯示 Activated 後才繼續。確認它至少成功開機並完成啟用,再進下一節。

6. iOS 10.2.1 → iOS 9.3.3 untethered restore

先從 blob 讀出 generator;不要修改 SHSH2:

本次實例是:

取得 9.3.3 專用 SHC:

重新進 Recovery / DFU,設定 blob 對應的 generator:

正式 restore:

這裡使用 -w;前面沒有 blob 的中繼 restore 使用的是 -o

完成後的 9.3.3 應可自行開機,不需要再用 10.2.1 的 PTE tether boot。

7. 在未啟用的 iOS 9.3.3 取得暫時 root 環境

如果 Setup Assistant 顯示 Activation Error,先不要反覆向 Apple activation server 重試。

7.1 啟動 Legacy iOS Kit

如果尚未下載:

已經下載過的話,直接進入該資料夾。接上 iPhone,執行:

第一次執行時,先讓工具完成相依套件與檔案準備。進入主選單後選:

7.2 建立並啟動 A9 SSH ramdisk

  1. 選進 SSH Ramdisk 後,讓工具依畫面流程建立並啟動 ramdisk;不同版本顯示的提示可能略有不同。
  2. 依 Legacy iOS Kit 畫面指示進入 Recovery,再按指示進 DFU。不要在工具要求之前自行反覆切換模式。
  3. 等待工具完成 exploit、建立 ramdisk 並把它送進手機。成功時手機通常會停在 ramdisk 畫面,Terminal 會回到 SSH Ramdisk 選單。

如果 USB-C 線材或轉接器讓 DFU/exploit 不穩,改用 USB-A to Lightning,必要時搭配 USB-A 轉接器。

7.3 連入 ramdisk

在 SSH Ramdisk 選單選:

Legacy iOS Kit 會連到本機轉發的 ramdisk SSH。連線資料為:

如果自動連線沒有開啟 shell,可在另一個 Terminal 手動連線:

若新版 macOS OpenSSH 拒絕舊 host key,再使用:

如果只退出選單、但手機仍停在 SSH ramdisk,可用以下指令重新打開選單,不必重新建立 ramdisk:

7.4 掛載 iOS 9.3.3 root filesystem

iPhone 6s Plus 是 64-bit,而 iOS 9.3.3 屬於 iOS 10.2.1 或更舊的系統,因此使用 HFS rootfs mount:

確認掛載成功:

mount_hfs 回報已掛載或 resource busy,先用上面的 mountls 確認 /mnt1 是否已可讀,不要重複強制掛載。

7.5 準備暫時 bootstrap 並繞過 Setup Assistant

  1. 使用 Legacy iOS Kit 提供的 bootstrap 安裝功能,把 iOS 9 jailbreak/bootstrap 準備好;不要手工拼湊或只放幾個 marker。
  2. 回到 ramdisk root shell,確認 /mnt1/Applications/Setup.app 存在。
  3. 暫時移走 Setup.app,不要刪除

  1. 也可以回到 SSH Ramdisk 選單使用 Reboot Device。正常開機後應繞過 Setup Assistant,進入鎖定畫面或桌面。
  2. 進入桌面後連 Wi-Fi,在 Safari 開啟:

  1. go;依提示鎖定螢幕,稍候再解鎖。這個頁面只負責啟用已經裝好的 jailbreak,不能取代前面的 bootstrap。
  2. 確認 Cydia 可開,安裝 Filza 與 OpenSSH。

這個暫時環境的唯一目的,是在 9.3.3 上取得 root 權限來還原 activation records。最終 jailbreak 仍要改用 kok3shi9。

8. 還原 activation records 到 iOS 9.3.3

8.1 將備份送回手機

Mac:

另一個 Terminal:

SSH 進手機後設定方便閱讀的路徑:

8.2 找出舊、新 container UUID

備份檔中的 10.3.3 UUID:

目前 9.3.3 的 UUID:

把兩個 UUID 分別記成 <OLD-UUID><NEW-UUID>不可把整個 tar 直接解回舊 UUID 路徑。

8.3 還原 FairPlay、CommCenter 與 factorydata

先保留 9.3.3 現有 CommCenter 檔,再覆蓋:

備份目前 factorydata,再還原:

8.4 還原 data_ark 與 activation record

先備份目前的 data_ark.plist

把備份中的檔案映射到目前的 UUID:

iOS 9.3.x 還要放到兩個額外位置:

8.5 修改 iOS 9.3.x 的 MobileGestalt flag

用 Filza 的 plist editor 開啟:

cacheExtra 下新增:

一定要是 Boolean true,不能是字串 "YES"

8.6 檢查後收尾

確認核心檔案都存在:

如果目前正常系統仍有 root SSH,而且 /Setup.app 存在,可直接放回:

如果正常系統不能寫入,則重新進 SSH ramdisk:

9. 驗證 activation

Mac:

目標結果:

確認後,立即再備份一次目前已驗證可用的 9.3.3 activation 狀態,並將它和原始 10.3.3 備份分開保存。

10. 用 kok3shi9 建立最終 jailbreak

裝置必須先是 Activated,否則 Apple Account 自簽與 sideload 很可能失敗。

  1. 下載最新版 kok3shi9.ipa
  2. 依 iOS Guide 使用 PlumeImpactor 安裝;若你使用另一個確定支援 iOS 9 的 sideload 工具,步驟相同。
  3. 手機開啟:

  1. 信任用來簽署 IPA 的 Apple Account。
  2. 重新開機,開啟 kok3shi9,按 Jailbreak
  3. 如果 exploit crash 或重新開機,重新執行,直到 Cydia 與 jailbreak 正常。

11. 安裝 kokeshi untether

11.1 更新舊 iOS 的 TLS root certificates

在 iPhone Safari 開啟:

選:

這一步可避免 Cydia 讀現代 HTTPS repository 時顯示憑證無效。

11.2 安裝 untether

Cydia:

加入:

搜尋並安裝:

安裝完成後依提示 reboot。

12. 最終驗證

  1. 正常關機。
  2. 不連電腦,直接開機。
  3. 確認可進入 iOS 9.3.3。
  4. 不重新執行 kok3shi9,直接測試 Cydia、Filza 或 root SSH。
  5. 再確認:

最終狀態應為:

成功進入 Cydia,iOS 9.3.3

13. 必須保存的資料

至少保存兩份、放在不同儲存裝置:

  • iOS 9.3.3 官方 SHSH2。
  • SHSH2 對應的 generator。
  • iOS 9.3.3、10.2.1、10.3.3 IPSW。
  • 每個版本各自的 pre/post SHC 與 PTE;檔名中要標示版本與用途。
  • 原始 10.3.3 activation backup。
  • 已確認成功的 9.3.3 activation backup。
  • ideviceinfo.txt
  • Turdus 版本與使用日期。

建議另存雜湊:

14. 關鍵注意事項

  • 所有 activation records 必須來自同一台 iPhone
  • 本次從 iOS 15.8.8/19H422 開始;下載第三方來源的 IPSW 時必須再次核對裝置型號、檔名與 Apple 當下的簽署狀態。
  • iOS 9.3.3 必須使用 build 13G34 的 IPSW 與同機 blob。
  • 降到 iOS 9 前必須先成功 boot 10.2.1 並且進到主畫面。
  • --get-shcblock 的一般輪次使用 -D;真正用 SHSH2 restore 9.3.3 前才使用 -Db
  • 10.3.3、10.2.1、9.3.3 的 SHC/PTE 不可混用。
  • 10.3.3 不需要處理 Setup.app;只有 9.3.3 卡在 Activation Error、必須先取得暫時 root 環境時才移動它。Setup.app 只可暫時移動,不能刪除;activation 完成後必須放回。
  • MobileGestalt 必須用 plist editor 編輯,避免破壞 binary plist。
  • 不要偽造 /.installed_kok3shi,也不要繞過 kokeshi 的安裝前檢查。
  • kokeshi 會改動開機流程,錯誤版本或錯誤 jailbreak 環境可能 bootloop。
  • 安裝 untether 後若因 tweak 造成 respring loop,可在開機時持續按住音量增加鍵嘗試停用 tweak injection;真正 bootloop 則可能只能 DFU restore。
  • 即使 ActivationState 正確,舊 iOS 上的 App Store、iMessage、FaceTime、push、行動網路或部分 Apple 服務仍可能受伺服器、TLS、baseband 或年代限制影響。

15. 參考資料

發佈留言