免越狱真机启动 iOS 模拟器:LiveSimBooter 的进程代理、硬件断点工作队列与 Sim2Host 渲染剖析
在苹果的生态体系中,“在 iPhone 上运行 iOS 模拟器”长期被视为一个违背常理的技术悖论。自 Apple Silicon 时代以来,Mac 上的 iOS 模拟器(iOS Simulator Runtime)早已经完全编译为原生的 ARM64 指令集,其底层既没有指令翻译器,也没有虚拟机 Hypervisor 损耗。然而,由于苹果在 iOS 沙盒、Mach-O 平台标签、dyld 动态链接器、线程私有存储(TSD)以及内核工作队列(Workqueue)调度等层面上构建了坚如磐石的系统边界,使得开发者普遍认为:在不越狱且没有 JIT(即时编译)权限的前提下,真机绝对不可能引导并运行一套完整的模拟器运行环境。
曾开源知名免越狱多开容器 LiveContainer 的开发者 Duy Tran Khanh(khanhduytran0),近期开源了名为 LiveSimBooter 的硬核实验性项目,以不可思议的工程技艺粉碎了这一不可能三角。它在未越狱的 iPhone 真机上,直接引导了苹果官方原生的 iOS Simulator 26.0(Build 23A343) 运行时环境,成功拉起了原生 launchd_sim、backboardd,点亮了带有全套 App 图标的 SpringBoard 桌面,并在真实 A18 Pro 芯片设备(iPhone 18,2)上验证了原生 Metal 渲染管线、触摸/键盘交互输入、交互式 Fish 终端以及冷启动与连续两次用户态重启(Userspace Reboot)。我深入阅读了该项目的全部 C/C++/Objective-C 源码与底层逆向日志,对这套“移花接木”的黑魔法实现进行了全链路技术拆解。