vphone-cli固件补丁数量大比拼:5种变体141个补丁完整清单
【免费下载链接】vphone-cli项目地址: https://gitcode.com/GitHub_Trending/vp/vphone-cli
🍎 想在 Mac 上白嫖一台「虚拟 iPhone」吗?vphone-cli 基于苹果 Virtualization.framework,用一条命令就能完成「下载 → 打补丁 → DFU 恢复 → 安装 CFW → 首次开机」的全流程。它的精髓在于5 种固件变体,从最轻量的「无补丁」到满血「越狱 + 反虚拟机检测」,补丁数量一路飙到141 个。本文带你把 5 种变体的补丁家底一次盘清,选对档位不踩坑。
图中左侧是运行中的虚拟 iPhone,右侧终端通过 SSH 连入 guest,
neofetch显示 iOS 27.0 系统信息——这正是jb/exp变体打上补丁后的真实效果。
📌 为什么补丁数量会成为「比拼」焦点?
每一档变体,本质上是**对苹果安全机制「绕过多少」**的选择题:
- 补丁越少 → 越接近原生 iOS,安全缓解(SIP/AMFI/SSV)保留得越多;
- 补丁越多 → 能解锁的能力越强(SSH、越狱、TrollStore、反 VM 检测)。
所以「补丁数量」不是炫技,而是能力上限的标尺。下面这张总表就是全文的核心。
🏆 5 种固件变体:补丁数量总览
| 变体 | 启动链补丁 | CFW 阶段 | 定位一句话 |
|---|---|---|---|
less | 4 | 2 phases | 无补丁,保留全部 iOS 安全缓解 |
regular | 42 | 10 phases | 绕过 AMFI/SSV/Img4/TXM |
dev | 53 | 12 phases | + TXM 权限/调试绕过 |
jb | 113 | 14 phases | + 完整越狱(Sileo、TrollStore 首启自动装) |
exp | 141 | 18 phases | JB 超集 + 反虚拟机检测研究补丁 |
💡规律:exp是jb的严格超集——jb有的它全有,只多不多。选变体时,从「你要解锁什么能力」倒推,而不是盲目拉满。
🔍 逐个变体拆解:每个补丁在做什么?
less(4 个补丁)——最克制的「无补丁」档
只保留最基础的串行日志与启动链标记,iOS 原生安全缓解全部保留。适合做基线对照或研究「打了补丁 vs 没打」的差异。
regular(42 个补丁)——日常可用的入门档
核心动作是绕过启动链签名校验:AVPBooter、iBSS/iBEC/LLB 的image4_validate_property_callback签名 bypass,加上内核基础补丁(跳过 APFS 封存卷检查、禁用致命 EXC_GUARD 等)。拿到 SSH + VNC 访问,够日常折腾。
dev(53 个补丁)——开发调试档
在regular之上叠加TXM 开发补丁(TXMDevPatcher):get-task-allow、Debugger entitlement、Developer mode bypass,并替换rpcserver_ios为 dev 构建,方便连调试器。
jb(113 个补丁)——完整越狱档 🎉
内核 JB 方法组(KernelJBPatcher)全量上阵,覆盖 30 个 JB 补丁文件,典型如:
patch_amfi_cdhash_in_trustcache:让任意 cdhash 进信任缓存;patch_task_for_pid/patch_thread_set_state:调试与注入能力;patch_sandbox_hooks_extended:桩化 30+ 沙箱钩子;patch_vm_map_protect/patch_vm_fault:内存保护放宽。
首启自动部署 Procursus、Sileo、TrollStore(由/cores/vphone_jb_setup.sh驱动)。
exp(141 个补丁)——研究级「反虚拟机检测」档 🔬
jb的全部补丁 + 一批 EXP 专属研究补丁,目标是让部分 Apple 服务误以为「这不是台虚拟机」,同时保留 GPU 直通等 VM 专属能力:
- 内核
hv_vmm_presentsysctl OID 改名(KernelEXPPatchHvVmmRename); - DeviceTree 身份改写(8 条 EXP 属性 +
/product/camera节点,让相机图标显示); - DSC 用户态字符串混淆 + 页哈希重签(
cfw_patch_hv_vmm_dsc.py); - 首启后 DT 重写、
SystemVersion.plist版本号伪装(可选SPOOF_BUILD)。
详细逐组件拆解见 research/0_binary_patch_comparison.md,文末 Summary 表给出了每个变体在各组件上的精确计数。
🧩 补丁到底打在哪?启动链 4 大组件
141 个补丁并非集中在内核,而是均匀分布在整条启动链:
| 组件 | 说明 | 代表补丁 |
|---|---|---|
| AVPBooter | 引导入口 | DGST 签名校验 bypass |
| iBSS / iBEC / LLB | 引导加载器 | 签名回调 bypass、boot-args 重定向 |
| TXM | 信任执行模块 | trustcache 搜索 bypass、selector 绕过 |
| Kernelcache | 内核 | 基础补丁 + JB/EXP 方法组 |
补丁器实现集中在 sources/FirmwarePatcher/ 目录,Kernel/JBPatches/下的 30 个 Swift 文件对应jb变体的内核方法,Kernel/EXPPatches/则承载exp专属逻辑。
🚀 快速上手:一键创建虚拟机
选对变体后,两条命令即可端到端跑通:
vphone-cli vm create myphone -V jb # -V / --variant 指定变体 vphone-cli vm launch myphone如果想手动掌控每一步(vm create自动做的事):
vphone-cli vm new myphone # 1. 空 bundle vphone-cli fw prepare myphone --iphone-version 26.1 # 2. 下载+合并 IPSW vphone-cli fw patch myphone --variant jb # 3. 打补丁 vphone-cli vm launch myphone --dfu & # 4. DFU 启动 vphone-cli restore myphone # 5. 恢复 vphone-cli cfw install myphone --variant jb # 6. 装 CFW vphone-cli vm launch myphone # 7. 首次开机🔗 参考 scripts/cfw_install_jb.sh、scripts/cfw_install_exp.sh 查看各档 CFW 安装脚本的差异。
🧭 变体选型速查(长尾关键词导航)
- 想保留原生安全、做对照实验→
less - 只想 SSH/VNC 日常使用→
regular - 需要连调试器、跑 dev 工具链→
dev - 要完整越狱 + Sileo/TrollStore→
jb - 研究反虚拟机检测、身份伪装→
exp(141 补丁满配)
📚 延伸阅读
- research/0_binary_patch_comparison.md — 逐组件补丁明细 + 跨版本动态快照
- sources/FirmwarePatcher/Kernel/KernelJBPatcher.swift —
jb内核补丁调度器 - sources/FirmwarePatcher/TXM/TXMDevPatcher.swift —
dev/jb的 TXM 补丁 - scripts/patchers/ — CFW 二进制补丁器(Python 模块集合)
⚠️ 本项目面向安全研究者,补丁会显著削弱 iOS 安全机制,请仅在自有设备上研究使用。
exp的伪装补丁属于实验性质,可能随 iOS 版本更新失效。
【免费下载链接】vphone-cli项目地址: https://gitcode.com/GitHub_Trending/vp/vphone-cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考