简体中文 | English
MarkTheme 是面向现代 iOS 越狱环境的模块化主题引擎与管理器,支持 conventional rootless 与
RootHide。它在兼容主流主题资产(SnowBoard / IconBundles 风格的 .theme 包)的前提下,把
主题的解析与编译全部放在无注入的管理器 App 内完成,注入进程中只运行一个尽可能小的 Runtime,
并始终以「回到系统原生外观」作为失败时的正确结果。
当前版本为 v0.2.1。两种越狱环境使用不同软件包,请勿混装。
v0.2.1 暂时把安装下限调整为 iOS 17.0。图标 overlay 现在按当前图标载体的实际尺寸与
display scale 自适应缩放,修复部分 iOS 17 版本中分享界面正常但桌面不显示的问题;同一
overlay 也会覆盖文件夹,并位于文件夹背景和原生小图标之上。诊断页新增针对桌面 overlay
链路的精简计数与结论,并支持一键导出 MarkTheme-Diagnostics.txt。
- 导入 ZIP、DEB、TAR 系归档或已展开的目录,在保存前完整审阅识别结果
- 自动识别深层包装、散落或缺少标准外层目录的受支持资源;导入后保留优秀的生态命名,并实体整理为 MarkTheme 标准主题目录
- 严格校验主题资产:两遍 ZIP 解码审计、静态 PNG 结构与全像素校验、限额 plist 读取
- 每次导入生成可恢复的 Library revision,支持崩溃残留恢复与原子切换
- 编译产物以 root-owned 不可变 generation 发布,Runtime 只读访问
- 主题化 SpringBoard 桌面与通知中心图标、文件夹、角标、Spotlight、设置、电话、照片分享页与系统分享页图标
- 文件夹背景模块需要基础背景,浅色背景是可选覆盖;图标 overlay 可独立覆盖文件夹
- 支持作者自定义遮罩、底图与图标叠加层,或复用系统原生圆角遮罩;遮罩先于 overlay 合成
- 普通表面只替换图像内容;返回桌面动画仅在已验证的系统 crossfade 容器内临时加入方形 代理层,动画结束即移除,不改变系统 view 层级、App 快照几何或动画时间线
- 支持简体中文与英文
导入适配、资源分类置信度、MarkTheme 标准目录和新增 module 的测试要求见 导入适配与资源目录扩展指南。
| Package scheme | 适用环境 | .deb Architecture |
|---|---|---|
rootless |
conventional rootless(如 Dopamine) | iphoneos-arm64 |
roothide |
RootHide(如 Relaxin) | iphoneos-arm64e |
- 安装下限为 iOS 17.0,当前主动维护的系统范围为 iOS 17.x 至 18.x;iOS 16 暂不支持, 包管理器会拒绝安装。更高版本不作兼容承诺,会按实时 ABI 校验结果保留系统原生外观。
- App、Helper 与 Runtime 均包含
arm64与arm64eslices。 - 不支持 rootful,也不支持在两种 package scheme 之间混装。
- 软件包依赖
uikittools与ellekit (>= 1.2)。
Runtime 当前适配的系统进程:SpringBoard、Spotlight、Preferences、Photos、MobilePhone、
SharingUIService 与 sharingd;普通 App 仅在加载系统 ShareSheet 框架后懒注入分享适配器。
支持范围内的分享图标入口按实际宿主覆盖,ShareSheet Activity、SharingUI provider 与
UIKit App icon 生产入口可独立、延迟安装。
每个进程先按 bundle id + 可执行文件名 匹配对应模块,再由适配器
在运行时逐项校验目标类、实现镜像路径、selector、方法签名,以及必要时的 ivar 类型与偏移;
校验通过才安装 Hook。
适配层不使用系统 build 或 Mach-O UUID 白名单推断兼容性。任何一项实时 ABI 校验不通过时, 对应表面保持系统原生外观,不会猜测调用私有接口。少数依赖对象布局的表面(如角标背景) 额外钉定 ivar 偏移,因此在布局变化的系统版本上会静默回退到原生外观而不是崩溃。 当前 ABI 维护基线包含 iOS 17.0 / 17.2.1 用户诊断、iOS 17.3.1 / RootHide 实机, 以及 iOS 18 图标投递路径回归; 其他系统小版本与 conventional rootless 组合仍需实机验证。
从 Releases 下载与当前越狱环境匹配的软件包,用你惯用的包管理器安装,或:
dpkg -i com.hmmzzz.marktheme_<version>_<arch>.deb安装后在桌面打开 MarkTheme,导入主题包并应用。切换主题后需要一次 Respring 才能让新的 Runtime 映像生效;App 会在应用完成后提示。
主题资产不完整或与系统不兼容可能影响桌面显示。安装和切换前,请确认能够进入当前越狱的 safe mode 并通过软件包管理器移除 MarkTheme。不要手动修改 MarkTheme 的 Runtime Store 或 Library 数据。
- 注入进程中只允许运行 Runtime;主题解析、编译与可写 IO 全部在管理器 App 侧完成。
- 产品包只含管理器 App、一个短生命周期的 root Helper 和一个 Runtime,无 daemon、无 IPC 热路径、无轮询。
- 除返回桌面动画和文件夹 overlay 外,适配器只替换图像内容;文件夹 overlay 使用一个透明、 不响应交互的图像 view,固定置于文件夹背景和原生小图标之上。
- 返回桌面动画使用一个 transition-scoped 方形代理 layer 隔离会被非等比 morph 拉伸的主题源图;
它只在当前图标确实包含 MarkTheme 像素且 crossfade ABI 全部通过时启用,跟随原生 source
fade,并在系统
cleanup前恢复源 layer、移除代理。该适配不 Hook morph fraction,也不增加layoutSubviews热路径工作。 - 任何身份、ABI、尺寸或资源校验失败都返回系统原始结果,绝不猜测。
需要 macOS/Xcode、RootHide Theos、兼容的 iOS SDK、
ldid 与 rg。
git clone https://github.com/Hmmzzz/MarkTheme.git
cd MarkTheme
export THEOS=/path/to/roothide-theos
make package-roothide
make package-rootless
# 或依次构建两种软件包
make package-all生成的 .deb 位于 packages/;上述目标会自动调用 scripts/verify-package 检查 scheme
布局、Mach-O slices、最低系统版本、linking、entitlements、文件权限与 Runtime 进程白名单。
也可以单独审计已有软件包:
./scripts/verify-package packages/<marktheme.deb>./tests/run测试只在宿主机编译和运行,不会连接设备、部署软件包、应用主题、Respring 或 reboot。
| 路径 | 内容 |
|---|---|
app/ |
UIKit 管理器 App 与本地化资源 |
core/ |
跨层共享的基础类型与工具 |
ingestion/、importers/ |
归档校验、ZIP 解码审计与主题元数据解析 |
compiler/、library/ |
Generation 编译与 Library revision 管理 |
workflow/ |
导入流程状态机与协调 |
store/、helper/ |
Runtime Store 与受限 root helper |
runtime/、modules/ |
注入映像、进程适配器与主题资源模块 |
platform/ |
越狱环境路径解析(rootless / RootHide) |
layout/ |
Debian package lifecycle |
scripts/、tests/ |
双包构建审计与宿主回归 |
欢迎提交 issue 和 pull request。功能改动请运行宿主回归;涉及路径、权限、package lifecycle
或 scheme 的改动还应分别构建并审计 rootless 与 RootHide 软件包。请勿提交 .theos/、
packages/、.deb、设备数据、密钥或其他本机产物。
- SnowBoard:主题资产格式与 IconBundles 生态的事实标准, MarkTheme 的资产兼容性以其为基础
- RootHide:RootHide 架构与兼容基础
- Theos:iOS 越狱开发与打包工具链
- ElleKit:Runtime 使用的方法替换实现
第三方许可见 THIRD_PARTY_NOTICES.md。
MarkTheme 不提供、销售、授权、审核或分发任何第三方主题或图标资产。用户应自行确认拥有导入、 使用、复制或分发相关资产所需的权利;本项目的 GPL 许可不授予任何第三方资产权利。
本软件按“现状”提供,不作任何担保。项目维护者与贡献者不对未经授权使用主题资产,或兼容性、 不当操作造成的设备异常、数据丢失和系统不稳定负责;完整条款见 GPLv3 第 15、16 条。
本项目与 Apple Inc. 无关,亦不隶属于任何主题作者或既有主题引擎。
Copyright (C) 2026 Hmmzzz.
Licensed under the GNU General Public License v3.0 only.

