一台 POCO X5 Pro 5G,没刷掉 Android,没写入 iOS,却在内存里跑起了 iOS 16.5。

这比猎奇更狠。GitHub 项目 HackiOS 把 Apple 开源的 XNU 内核,和未经修改的 iOS 16.5 用户空间,拉到了一台骁龙 778G 手机上。

更微妙的是,仓库里没有 Apple 文件。脚本会去苹果官方 CDN 下载 iOS 16.5 IPSW,7.4GB,再在本地提取所需。

老实讲,这条新闻第一眼像猎奇,第二眼就像系统安全研究。

一台安卓手机,点亮了 iOS 16.5 的桌面

先说最抓人的部分。项目能在两个地方跑起来。

一个是真机,POCO X5 Pro 5G,代号 redwood,搭载 Snapdragon 778G。另一个是 QEMU,virt 机器,aarch64 架构。只要一台 Linux 电脑,也能看到同一套系统启动。

它启动的内核版本是 xnu-8796.121.2,对应 iOS 16.5。内核起来后,继续拉起 launchd,再到 backboardd、SpringBoard,最后到 apps。

这意味着,屏幕上出现的不只是一个 iOS 图标,而是 iOS 的启动链。

项目还提到,锁屏大约 2 到 3 分钟出现。SpringBoard 出来后,系统还会继续注册应用,需要再等 30 到 40 秒。

真正被搬过来的,是 iOS 的中枢神经

很多人第一眼会以为,这只是一个安卓套壳。

但素材里最关键的一句是:iOS 程序、框架和 dyld shared cache 没有被改动一个字节。

这句话很重。它意味着项目没有把 iOS 应用层拆碎重拼,而是尽量让原版用户空间直接运行。

缺什么?补在下面。

内核层负责替代缺失能力。驱动层负责接住硬件。必要时,库会被注入 backboardd、SpringBoard 和 mediaserverd,但素材强调,这些改动也只发生在内存里。

个人觉得,这个项目最值钱的不是截图,而是那条被拆开又拼回去的启动链。

重启之后,一切消失

这个项目最聪明的地方,是它不赖在手机里。

在 POCO X5 Pro 5G 上,没有东西被写入手机存储。UEFI 通过 fastboot boot 启动,整个系统待在 RAM 里。一次会话结束后,内核回到 loader,交出日志。

手机重启,Android 回来。像什么都没发生过。

QEMU 上也是类似思路。脚本会构建 APFS 镜像,然后开一个 20 分钟会话。真机示例则给出 900 秒,也就是 15 分钟会话。

项目自己说得很直白。

It is a research bench, not a ROM: a session lasts a given number of seconds, then the kernel returns to the loader and hands over its log.

翻译过来就是,它是研究台,并非可日常刷入的 ROM。

这点我不太认同有些人一上来就喊装机。它更像一场限时实验,跑完就撤。

脏活累活,全在驱动层

让 iOS 开机不算最难,难的是让它认识一块安卓手机的屏幕、触控、GPU 和 Wi-Fi。

HackiOS 自己做了几件事。自研 EFI loader。替代 Apple 闭源驱动。移植 UEFI。再把 Linux 的 Wi-Fi 驱动,通过兼容层接进来。

启动链也被拆得很清楚。fastboot 先拉起 UEFI,UEFI 再拉起 xnuloader,然后进入 XNU。XNU 里跑 GICv3、timer、video console、APFS、ramfs,以及一堆替代驱动。

硬件这边,POCO X5 Pro 5G 的触控来自 Goodix GT9916,GPU 是 Adreno 642L,Wi-Fi 是 WCN6750,声音走 ADSP。QEMU 则使用 virtio-input 和 virtio-sound。

真机运行还需要从手机原本的 Android 系统里拉取固件。GPU、Wi-Fi、音频、震动,都要从对应分区取出。

说白了,iOS 想坐上安卓硬件的桌子,先得有人把椅子一把把搬好。

反转来了,它的重点不在山寨 iPhone

评论区已经有人担心,二手 iPhone 市场会不会迎来新一波高仿。

这个担心不算多余。素材里也提到,项目运行的是未修改的 iOS 16.5 用户空间,还会从 Apple CDN 下载官方 IPSW。对普通用户来说,这套组合听起来确实容易往仿制方向联想。

但项目反复强调的边界也很清楚。它是独立研究项目,不隶属苹果,也未获授权或背书。仓库本身不放 Apple 文件。它并非 ROM,更像一次次限时运行。

还有评论反问,为什么要在安卓设备上跑 iOS。更值得做的,也许是在苹果硬件上跑更自由的系统。

有意思的是,这两种声音恰好撞在一起。一边是技术可能被滥用的担忧,一边是黑客对封闭硬件的老问题。

钥匙其实来自苹果自己

HackiOS 能跑起来,靠的并不只是胆大。

素材显示,项目基于 Apple 开源的 XNU。xnu 目录是 XNU 的衍生作品,按 APSL 2.0 分发。仓库里的其他代码也使用同一许可证,第三方代码保留各自许可证。

它也没有把苹果文件直接塞进 GitHub。ios165/fetch.sh 会从 Apple 自己的 CDN 下载 iOS 16.5 IPSW,再在本地提取需要的部分。

这个设计很老练。代码仓库尽量干净,运行所需材料由用户本地获取。研究边界被画得很清楚。

评论区还有一句很直白。

Someone finally did this, wow! 2026 just keeps getting more crazy.

确实够疯狂。但疯狂背后没有魔法,只有 UEFI、loader、内核、驱动、固件和脚本一层层啃下来。

当 iOS 的用户空间能在安卓硬件上被临时点亮,问题就变了。大家不再只问它能不能跑,而会开始问下一台设备会是谁。

这台 POCO 重启后还会回到 Android。可那条被凿开的启动链,已经留在 GitHub 上了。

【锐评】:这次实验真正刺眼的地方,是苹果封闭启动链被公开拆解。

参考链接:
https://github.com/oosexgang/hackios-xnu-kernel