MiniBindFS使用教程:越狱后如何修改iOS系统字体

MiniBindFS使用教程:越狱后如何修改iOS系统字体

玄烨最近完善 MiniBindFS 对 Dopamine 多巴胺越狱3.0 支持。

这个工具主要解决一个问题:越狱后想修改系统字体或系统资源,但是因为现代的越狱都是无根越狱rootless,无权修改系统目录,通常是只读的,直接修改很容易失败。

MiniBindFS 会先复制一份目录,然后把这份副本挂载回原来的位置。这样系统看到的是修改后的副本,原始系统文件不会被直接改写。并且,如果有什么问题,重启设备就能恢复正常不影响系统。

支持情况:

目前 MiniBindFS 已经提供 Dopamine 3.0 和 Relaxin 对应的支持。

添加玄烨的个人源后,Sileo 会显示MiniBindFS的安装包。

Dopamine 3.0 版本我已经在 iPhone 13 Pro Max、iOS 17.0 上进行过测试。按理支持iOS 17.0 -17.3.1.

Relaxin 越狱我也已经测试过了。这两个越狱环境我都测试正常!

MiniBindFS可以做什么?

可以挂载iOS系统目录,复制到用户目录,然后你可以进行覆盖修改。最常见的用途就是修改系统字体。

比如:

  • 替换系统字体;
  • 修改系统目录中的资源;
  • 测试系统文件替换效果;
  • 在不直接改写原目录的情况下,临时覆盖系统目录。

简单说,就是把一个只读目录变成“可以修改的副本”。

优点及缺点:

优点:

  • 不直接改写原始系统目录;
  • 支持复制后挂载;
  • 支持使用已有副本;
  • 可以查看当前挂载状态;
  • 适合测试字体和系统资源。

缺点:

  • 这是一个 Root 工具,不是普通应用;
  • 第一次复制目录时可能会占用较多空间;
  • 挂载状态属于系统层面的修改;
  • 操作错误可能导致字体缺失、界面异常,甚至进入安全模式。

风险提示:

使用之前一定要做好备份。

不要直接操作整个 / 目录,也不要一开始就拿 /System 下的重要目录做测试。建议先使用临时测试目录,确认流程没有问题以后,再考虑修改字体目录。

系统进程正在使用的目录可能无法卸载。如果看到 EBUSY,不要强行处理,也不要随便使用强制卸载参数。

一旦出现系统异常、应用闪退或无法进入桌面等情况,需要由你个人承担风险。玄烨不建议在存放重要资料的主力机上直接尝试。

使用教程

一、添加玄烨个人源

打开 Sileo,进入“软件源”,添加下面的玄烨品果官方源:

https://dkxuanye.github.io/repo/

在sileo中搜索plutil 点获取依赖,然后返回

继续,搜索 MiniBindFS,直接安装 Sileo 显示的兼容版本即可。

二、第一次挂载字体目录

在手机上安装终端工具NewTerm beta3,然后打开执行下面的命令:

mount_bindfs /System/Library/Fonts

第一次执行时,工具会先把系统字体目录映射到用户目录。目录比较大时,需要等待一段时间。

在 Dopamine 环境下,字体副本通常位于:

/var/jb/bindfs/System/Library/Fonts

后面需要修改字体时,修改的是这个目录的副本,不是系统原来的 /System/Library/Fonts

四、使用Filza修改字体

打开 Filza,进入字体副本目录:

/var/jb/bindfs/System/Library/Fonts

把需要替换的字体复制到这个目录中。(复制之前,最好先备份原来系统字体,万一有问题可以覆盖还原)

打开Dopamine ,点击重启用户空间,让修改生效。

注意:你一定要确保你所选择的第三方字体兼容iOS 17.x系统,否则个别页面会出现口口字。如果出现口口字也别担心,关掉APP重新进就好了,实在不行重启设备会恢复正常。然后使用命令mount_bindfs -s可以取消挂载,再次重启用户空间,就恢复iOS系统原生字体。

字体覆盖效果预览

五、使用已有副本

如果之前已经创建过副本,可以执行:

mount_bindfs --skip-copy /System/Library/Fonts

这个命令不会再次复制文件,而是直接使用已经存在的副本。

如果想重新创建副本,可以执行:

mount_bindfs --copy /System/Library/Fonts

重新复制前,建议先确认设备剩余空间足够。

六、查看挂载状态

查看当前 MiniBindFS 状态:

mount_bindfs -l

查看自动挂载设置:

mount_bindfs -s

七、设置自动挂载

如果希望每次越狱环境启动后自动挂载字体目录,可以执行:

mount_bindfs -s /System/Library/Fonts

不想自动挂载时,执行:

mount_bindfs -s

八、恢复原来的状态

先清除自动挂载设置:

mount_bindfs -s

然后完整重启一次设备。

用户空间重启不一定会清除内核中的 bindfs 挂载,所以恢复时建议使用完整重启。

如果只是测试临时目录,可以使用:

mount_bindfs -u /tmp/test

不要直接对正在使用的系统字体目录执行强制卸载。

常用命令汇总

# 第一次复制并挂载
mount_bindfs /System/Library/Fonts

# 使用已有副本
mount_bindfs --skip-copy /System/Library/Fonts

# 重新复制副本
mount_bindfs --copy /System/Library/Fonts

# 查看挂载状态
mount_bindfs -l

# 查看自动挂载设置
mount_bindfs -s

# 设置自动挂载
mount_bindfs -s /System/Library/Fonts

# 清除自动挂载
mount_bindfs -s

# 卸载临时测试目录
mount_bindfs -u /tmp/test

最后说几句

MiniBindFS 适合用来测试字体和系统资源,不适合拿来随意修改系统文件。

如果你只是想体验一下,建议先创建临时测试目录,确认流程没有问题以后,再操作字体目录。

致谢

 

  • 无尽伤痛都锁进黑夜 & zhaonan(invalidunit)——原版 com.nan.bindfs 的作者, 本项目的功能设计与思路来源
  • opa334 / Dopamine——jbctl/jbserver/STEAL_UCRED 机制与 libjailbreak (MIT),本插件提权链路的基石
  • roothide 团队(RootHide)——roothide 越狱、vroot 机制与开发者文档 (github.com/roothide/Developer)
  • Relaxin 越狱团队——iOS 17.0-17.3.1 越狱,本插件的目标环境
  • palera1n 团队——rootless 越狱与 jbctl 机制的先驱
  • Procursus / theos 社区——bootstrap 与构建工具链
  • Diatrus(plutil)——设备端 plist 工具

玄烨原创,禁止转载。

为您推荐