PTT評價

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

看板iOS標題[越獄] 使用 WDBFontOverwrite 進行字體修改作者
Lyeuiechang
(誠誠小屁孩)
時間推噓 3 推:3 噓:0 →:1

各位好,
今天要來介紹如何使用 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: [新聞]有狼師一直戳女學森(.)(.)而被家長吉上法院...12/04 23:42
Xhocer: ) (12/04 23:44
xj654m3: ( Y )12/04 23:46
Xhocer: \|/12/04 23:48
xj654m3: (╮⊙▽⊙)ノ|||12/05 00:47
Lyeuiechang: /|\╰╮o( ̄▽ ̄///)<12/05 01:17

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.87.99 (臺灣)
PTT 網址
※ 編輯: Lyeuiechang (123.192.87.99 臺灣), 12/30/2022 13:01:10

gamewinner 12/30 15:14某樓快出來酸都20XX年了還在越獄

zxc654033 12/30 16:41分享推

xbox1 12/30 21:02都2023年了還在越獄 這個好棒喔

waroz 12/31 02:52都要2023了官方還沒打算抄這個