一般上,如果你想透过智能手机反映出自己个性,大多数用户会选择安卓系统,因为它提供了大量的自定义功能,如主题、用户界面、图标和添加小工具等。
对于苹果用户而言,最近确实添加了更多的定制选项,但依旧不能改变iPhone上的默认字体。
不过,最近一位开发者已找到了一种更改字体的方法,甚至不需要将设备越狱(jailbreak)。
开发者张卓伟(译名,Zhuowei Zhang)找到的方法,是使用他所谓的“概念验证”(proof-of-concept)应用程序来改变iPhone的默认字体。
然而,它确实有一个注意事项,即仅适用于iOS 16.1.2或以下版本的iPhone,因为它是通过一个被称为CVE-2022-46689的漏洞操作,该漏洞后来被苹果在iOS 16.2中修补。
这个漏洞之前被揭露是一个“竞赛危害”(Race Condition),即系统试图同时运行多个需要按正确顺序进行的操作。
虽然这可能被一些人用来将坏的代码推送到你的设备上,但张卓伟却用它来更改iPhone上的默认字体。
Made an app that overwrites the iOS system font using CVE-2022-46689.https://t.co/LnzMbA2VYA
— Zhuowei Zhang (@zhuowei) December 26, 2022
It works on iOS 16.1.2 and below on unjailbroken devices.
Four fonts are included: DejaVu Sans Condensed, Serif, Mono, and Choco Cooky (because Samsung). pic.twitter.com/gTSWDB62EH
该应用程序可以在他的Github页面上使用,允许你将iPhone上的字体换成DejaVu Sans Condensed、DejaVy Serif、DejaVu Sans Mono、Go Regular、Go Mono、Fira Sans、Segoe UI、Choco Cooky,甚至是经典的Comic Sans MS字体。
“根据CVE-2022-46689的问题,据我所知,仅允许你覆盖每16384个字节中的16383个字节:页面的最后一个字节不能被写入。”
“为了解决这个问题,我使用WOFF2网络字体格式打包字体,该格式在iOS上得到了支持。WOFF2使用Brotli进行压缩,这让我可以插入填充物来跳过最后一个字节。”——张卓伟
他补充,如果你打算这样做,这应该是一个相对安全的试验,一旦你重新启动你的iPhone,所有的字体变化都会消失。
尽管如此,他还是建议你备份手机,当然,我们预料不会全部人都安装这个应用程序,因为iOS系统与安卓系统不同,后者允许你轻松地侧载应用程序。
但要安装张氏介绍的应用程序,你需要自己编译为Xcode项目,或者先想办法用证书签署该文件,此外,还要求使用旧版iOS,这可能使你更容易出现安全风险。
如果你想设置你的iPhone,你可以在这里查看张卓伟的Github页面。