[越狱] 使用 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