返回

文章详情

展示 HN:在 Android 设备上运行完整的 iOS 16.5 固件

Hacker News2026年10月22日 15:26

HackiOS 在 Android 手机硬件上启动苹果开源 XNU 内核 (xnu-8796.121.2,iOS 16.5 的内核),并在其上运行未修改的 iOS 16.5 用户空间:launchd → backboardd → SpringBoard → 应用程序。我们自己的 EFI 加载器、我们自己对苹果封闭驱动程序的替代品、UEFI 端口,以及在兼容层上的 Linux Wi-Fi 驱动使这一切成为可能。它在两个地方运行:POCO X5 Pro 5G(redwood, Snapdragon 778G)——没有任何东西被写入:UEFI 通过 fastboot boot 启动,整个系统驻留在 RAM 中,重启后手机恢复至 Android;QEMU(virt, aarch64)——在任何 Linux 计算机上进行相同操作,无需手机。这个库是项目的一半:仓库 hackios-xnu-kernel(这个)XNU 补丁、EFI 加载器、UEFI 端口、Wi-Fi、QEMU 脚本、xl、预构建内核/加载器/UEFI、common/脚本 hackios-xnu-userland 我们的 init、注入库、launchd 作业、APFS 镜像构建器,从苹果的 IPSW 中提取的脚本,Metal/Mesa 工作 两个仓库中都没有苹果文件。ios165/fetch.sh 从苹果自己的 CDN 下载 iOS 16.5 IPSW 到你的机器并提取所需的文件。HackiOS 是 OOSEX GANG 的独立研究项目,与苹果公司无关、未经授权或认可。iOS、iPhone 和 Apple 是苹果公司的商标。照片在手机上拍摄,Adreno GPU 绘图(gpu=1)。更多在 Screenshots。工作正常的功能包括锁屏、滑动解锁、带有所有图标的主屏幕(两页)、苹果默认的 iOS 16 壁纸;蜂窝、蓝牙;系统手势:上滑(主界面,应用程序切换器)、边缘滑动(返回)、控制中心;在我们的内核下充电(手机仅放电);应用程序:设置、时钟、日历、照片、备忘录、Safari 等;小部件(天气、日历)在手机上;应用程序的 Metal(正在进行中:已运行 293 个系统着色器中的 456 个,在 hackios-xnu-userland 的 docs/air.md 中查看);手机触摸屏(Goodix GT9916),多点触控,触碰唤醒;真正的电源和音量键;App Store 内容和 Apple ID 登录(没有安全区;FairPlay 守护进程退出);最多 8 个 CPU 核心(cpus=8),大核心 2.4 GHz,约 20 秒进入锁屏;视频和实况照片录制;通过 Mesa/freedreno 的 Adreno 642L GPU(gpu=1,OpenGL ES 用于 CoreAnimation);Wi-Fi(WCN6750,ath11k):从设置中加入,Safari 通过 Wi-Fi,55–90 Mbit/s;声音(扬声器,主麦克风)、相机在 Camera.app 中(前/后,预览,对焦,HEIC 照片);iOS 写入的数据在重启后依然存在(var_store=1 ufs_write=1);手机闪存上的 iOS 根卷;Sileo + Procursus(dpkg, apt),调整,SSH。它是一个研究平台,而不是 ROM:一个会话持续指定的秒数,然后内核返回加载程序并移交其日志。快速开始:QEMU,无需内核构建,预构建/保留内核、加载器和从这些仓库构建的程序,因此你所需的只是系统映像,该映像是在你的机器上从苹果的 IPSW 制作的。需求:Linux x86-64,约 12 GB 可用磁盘,4 GB 可用 RAM。软件包(Arch):sudo pacman -S --needed git python 7zip lz4 gcc qemu-system-aarch64 qemu-ui-gtk edk2-aarch64(Debian/Ubuntu:git python3 7zip liblz4-dev gcc qemu-system-arm qemu-efi-aarch64;7-Zip 必须是 23 或更高版本——它可以读取 APFS。)git clone https://github.com/oosexgang/hackios-xnu-kernel.git hackios cd hackios common/setup.sh # 将 hackios-xnu-userland 移入同一树中,检查主机 ios165/fetch.sh # 从苹果的 CDN 下载 7.4 GB 并提取所需的文件(5-15 分钟) common/build.sh qemu-virt # 构建 APFS 映像(如果工具链支持则构建内核) common/run.sh qemu-virt # 在 QEMU 窗口内进行 20 分钟的会话。锁屏在 2-3 分钟后出现。鼠标左键按下 = 手指。解锁 / 离开应用:从底部边缘向上滑动;返回:从左边缘滑动。按键:H 主界面,L 锁定/电源,↑ / ↓ 音量,F11(保持)五个手指。来自脚本的:qemu/touch.py swipe 0.5 0.985 0.5 0.3 250,qemu/touch.py tap 0.615 0.71,qemu/touch.py key home;截图:qemu/screendump.sh shot.png。在 SpringBoard 出现后,系统仍在注册应用程序:给它 30-40 秒。Debian/Ubuntu UEFI 固件:QEMU_EFI=/usr/share/AAVMF/AAVMF_CODE.fd QEMU_VARS=/usr/share/AAVMF/AAVMF_VARS.fd。在手机上(POCO X5 Pro 5G)你需要一个具有解锁引导加载程序的 POCO X5 Pro 5G(redwood)、adb 和 fastboot,以及以上部分的映像。没有任何东西被写入手机的存储。手机自己的固件不在库中并且无法使用:它是供应商的,来自将运行的手机本身,从其 Android 中:adb pull /vendor/firmware/a660_{gmu.bin,sqe.fw,zap.mdt,zap.b00,zap.b01,zap.b02} fw-gpu/ # GPU (gpu=1) adb pull /vendor/firmware_mnt/image/wpss.{mdt,b02,b03,b04,b05,b06,b07} fw-wifi/ # Wi-Fi (wifi=1) adb pull /vendor/firmware_mnt/image/adsp.{mdt,b02,...,b36} fw-audio/ # 声音 (adsp=1) adb pull /vendor/firmware/aw8697_haptic.bin fw-haptic/ # 触觉(将 fw-* 目录放在工作目录旁边)

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡