[越獄] 使用 WDBFontOverwrite 進行字體修改

作者: Lyeuiechang (誠誠小屁孩)   2022-12-30 12:36:37
各位好,
今天要來介紹如何使用 WDBFontOverwrite 進行字體修改,
很難得有相關的漏洞實作範例是如此地實用,
而且適用範圍系統之廣,除非是第一時間都會衝升級的人,
不然基本上都有機會體驗到換字體的樂趣,
以下將會針對這個工具目前我一些知道的細節做說明,
由於工具似乎還在繼續開發的階段,
如果有新的資料請至作者的 Github 查看。
截稿前最新版本: v1.3
https://i.imgur.com/rZpRRcQ.png
https://github.com/zhuowei/WDBFontOverwrite
======================系統需求================================================
因為使用的漏洞在 iOS 16.2 與 iOS 15.7.2 封殺,
所以只要在這個時間點發布之前的系統原則上都能適用,
且沒有機型限制。
我手邊測試 iOS 15.7.1 基本上都沒問題,
作者則是使用 iOS 16.1.2 沒問題。
========================如何實現換字體========================================
根據作者提供的資料,他使用了 CVE-2022-46689 進行資料的寫入,
所以其實是直接利用漏洞在目標的位置替換了檔案,
並且運行期間會存在記憶體當中,但是該效果再重開機之後就會消失。
https://i.imgur.com/9hIeRdH.png
Kernel
適用於:iPhone 8 和後續機型、iPad Pro(所有機型)、iPad Air(第 3 代)和後續機
型、iPad(第 5 代)和後續機型,以及 iPad mini(第 5 代)和後續機型
影響:App 或許可以利用核心權限執行任意程式碼
說明:增加驗證機制後,已解決競爭條件問題。
CVE-2022-46689:Google Project Zero 的 Ian Beer
https://support.apple.com/zh-tw/HT213530
============================能越獄版本之注意事項==============================
如果你的系統已經使用 iOS 14 越獄工具或者 iOS 15 TrollStore 進行越獄過,
則建議不要使用這個工具做字體替換,
因為越獄後等於 user 已經取得根目錄的讀寫權限,
會導致沒辦法回復原始字體,重開機也不會還原修改,
主要原因是工具並沒有事先備份系統自帶的字體檔案。
如果你已經不小心使用了,可以參閱 Reddit 文章的說明進行還原,
基本上就是手動地去目標目錄做字體替換。
https://redd.it/zxm9i7
Recommended circumstances for WDBFontOverwrite usage:
Jailbroken + TrollStore installation = (Tested on unc0ver and Taurine, not
sure about Xina) (X)
Jailbroken + AltStore/Sideloadly installation = Not tested myself but should
be (V)
Not Jailbroken + TrollStore installation = (Tested on iPhone 12 Pro, iOS
14.6) (V)
Not Jailbroken + AltStore/Sideloadly installation = (Tested with iOS 16
users) (V)
而沒有越獄的系統則因為重開機時修改的 Snapshot 會被撤銷,
所以就自然地還原成原本字體,也就是該修改的動作被失效,
才能讓字體在重開機的時候還原成原本的。
=======================如何使用 WDBFontOverride===============================
1. 先去下載 WDBFontOverride 的 iPA 檔案
https://github.com/zhuowei/WDBFontOverwrite/releases
2. 使用 Sideloadly 或者 AltStore 自行簽名
注意:使用企業簽名似乎沒辦法正常使用
3. 打開 WDBFontOverride
4. 替換英文字體 Import custom SFUI.ttf -> Custom SFUI.ttf
5. 替換表情符號字體 Import custom Emoji -> Custom Emoji
6. 替換中文字體 Import custom PingFang.ttc -> Custom PingFeng.ttc
7. 重開 App 查看效果,可搭配 Respring 腳本把 Springboard 也一併重啟
=======================字體替換推薦===========================================
因為工具似乎對 PingFeng.ttc 的格式有點挑剔,
過去文章中介紹的中文字體基本上都沒辦法 unpack 套用。
因此這邊介紹我看到別人的網誌推薦有比較頻繁維護的作者,
礙於著作權,這邊就不提供下載連結,有興趣的可以去作者公眾號進行下載。
https://mp.weixin.qq.com/s/lqgRtdwcDePuzKynWCt-bA
https://mp.weixin.qq.com/s/g7k_tsGduRSdieqDYTpZ1Q
以下是 TT-NIS平成丸ゴシック體 的效果圖:
https://i.imgur.com/dvbShJ1.png
https://i.imgur.com/LYt9dYA.png
https://i.imgur.com/b5VK90N.png
============================換字體的缺點======================================
由於替換字體本身不是庫克所認可的,所以必然不可避免地會來一些問題,
以下是我目前發現到的狀況:
1. 系統執行速度變慢: 因為字體需要存放於記憶體中,
使得可用記憶體下降導致執行速度也跟著下降
2. 小工具無法顯示:無論是舊的新的小工具只要有顯示字體都會無法載入,
不過剛剛似乎在多次 Respring 下突然就好了,但是那個我還沒辦法穩定地重現
3. 分享選單或者介面無法使用: Telegram 的轉傳選單直接無法顯示,
但是有時候又可以,目前也無法穩定地重現
===============================相關參考資料===================================
蘋果iOS不越獄更改系統字體的方法!支持iOS16.1.2
https://dkxuanye.cn/?p=6382&continueFlag=01a8306fc55001d6808f25832a7067d5
Is there a working shortcut to respring iOS 15?
https://redd.t/ueof8h
作者: Lyeuiechang (誠誠小屁孩)   2021-12-04 23:42:00
[新聞]有狼師一直戳女學森(.)(.)而被家長吉上法院...
作者: Xhocer (以前也很快樂)   2021-12-04 23:44:00
) (
作者: xj654m3 (盧魚)   2021-12-04 23:46:00
( Y )
作者: Xhocer (以前也很快樂)   2021-12-04 23:48:00
\|/
作者: xj654m3 (盧魚)   2021-12-05 00:47:00
(╮⊙▽⊙)ノ|||
作者: Lyeuiechang (誠誠小屁孩)   2021-12-05 01:17:00
/|\╰╮o( ̄▽ ̄///)<

Links booklink

Contact Us: admin [ a t ] ucptt.com