HackiOS: Chạy kernel XNU của iOS 16.5 trên điện thoại Android

Công nghệ22 tháng 10, 2026·5 phút đọc

Một nhóm nghiên cứu có tên OOSEX GANG đã công bố dự án HackiOS, cho phép khởi động kernel XNU mã nguồn mở của Apple (nền tảng iOS 16.5) trên phần cứng Android. Dự án chạy được giao diện SpringBoard, nhiều ứng dụng hệ thống và thậm chí cả Wi-Fi, nhưng vẫn thiếu sóng di động, Bluetooth và nhiều tính năng quan trọng khác.

HackiOS: Chạy kernel XNU của iOS 16.5 trên điện thoại Android

Một nhóm nghiên cứu mang tên OOSEX GANG vừa gây chú ý trên cộng đồng công nghệ khi công bố dự án HackiOS — một bộ công cụ cho phép khởi động kernel XNU mã nguồn mở của Apple, cụ thể là phiên bản xnu-8796.121.2 (kernel của iOS 16.5), trên phần cứng điện thoại Android và chạy không gian người dùng (user space) nguyên bản của iOS 16.5 phía trên.

Điểm đáng chú ý là nhóm không dùng bất kỳ tệp tin độc quyền nào của Apple trong kho mã nguồn. Thay vào đó, họ xây dựng bộ nạp EFI riêng, các trình điều khiển thay thế cho driver đóng của Apple, một bản chuyển UEFI và cả driver Wi-Fi của Linux chạy trên lớp tương thích.

Chạy được ở đâu?

Dự án hỗ trợ hai môi trường:

  • POCO X5 Pro 5G (redwood, Snapdragon 778G): Toàn bộ hệ thống được nạp vào RAM thông qua lệnh fastboot boot, không ghi gì vào bộ nhớ máy. Sau khi khởi động lại, điện thoại quay về Android bình thường.
  • QEMU (virt, aarch64): Chạy trên bất kỳ máy tính Linux nào, không cần điện thoại thật.

Đây là điểm khác biệt lớn so với các dự án ROM tùy biến thông thường: HackiOS được mô tả là "bàn thử nghiệm nghiên cứu, không phải ROM" — mỗi phiên chạy kéo dài một số giây nhất định, sau đó kernel trả quyền điều khiển về loader kèm nhật ký log.

Những gì đã hoạt động

Danh sách tính năng chạy được khá ấn tượng đối với một dự án nghiên cứu độc lập:

  • Màn hình khóa, vuốt để mở khóa, màn hình chính với đầy đủ biểu tượng, hình nền iOS 16 gốc
  • Các cử chỉ hệ thống: vuốt lên (về màn hình chính, chuyển ứng dụng), vuốt cạnh (quay lại), Trung tâm điều khiển
  • Ứng dụng: Cài đặt, Đồng hồ, Lịch, Ảnh, Ghi chú, Safari và nhiều ứng dụng khác; cả widget thời tiết và lịch
  • Màn hình cảm ứng đa điểm (Goodix GT9916), nút nguồn và nút âm lượng thật
  • Tối đa 8 nhân CPU, nhân lớn chạy ở 2,4 GHz, khoảng 20 giây để lên màn hình khóa
  • GPU Adreno 642L qua Mesa/freedreno cho OpenGL ES
  • Wi-Fi (WCN6750, ath11k): kết nối từ Cài đặt, duyệt Safari qua Wi-Fi với tốc độ 55–90 Mbit/s
  • Âm thanh, camera trước/sau, chụp ảnh HEIC
  • Dữ liệu iOS ghi ra vẫn còn sau khi khởi động lại
  • Sileo và Procursus (dpkg, apt), tweak, SSH

Những gì còn thiếu

Danh sách hạn chế cũng dài không kém, và đó là điều dễ hiểu với một dự án "hack":

  • Không có sóng di động và Bluetooth — đây là trở ngại lớn nhất
  • Không sạc được khi chạy kernel của HackiOS (máy chỉ xả pin)
  • Metal cho ứng dụng vẫn đang phát triển — mới có 293 trên 456 shader hệ thống chạy được trên Adreno
  • Không đăng nhập Apple ID, không dùng nội dung App Store (thiếu Secure Enclave, tiến trình FairPlay tự thoát)
  • Không quay video và Live Photo

Cách vận hành

Luồng khởi động được mô tả khá rõ: fastboot boot nạp UEFI (Mu-Silicium), sau đó là xnuloader — một ứng dụng EFI do nhóm tự viết, giữ kết nối USB, giám sát watchdog và nhận log từ kernel. Tiếp đến XNU khởi động với cấu hình BCM2837 làm nền tảng, mang theo GICv3, timer, APFS, minicrypto thay cho corecrypto, các driver thay thế cho IOSurface, IOMobileFramebuffer, AppleKeyStore và ngăn xếp mạng.

Cuối cùng, launchd → backboardd → SpringBoard → ứng dụng của iOS 16.5 được khởi chạy. Điểm mấu chốt: các chương trình, framework và dyld shared cache của iOS không bị sửa một byte nào — những gì chúng thiếu được bù đắp ở tầng kernel hoặc qua thư viện được tiêm vào bằng DYLD_INSERT_LIBRARIES.

"Bàn thử nghiệm nghiên cứu, không phải ROM: một phiên chạy kéo dài một số giây nhất định, sau đó kernel trả quyền về loader và bàn giao log của nó."

Chạy thử trên Linux không cần điện thoại

Với người tò mò, cách dễ nhất là chạy trên QEMU. Yêu cầu: Linux x86-64, khoảng 12 GB dung lượng trống, 4 GB RAM. Quy trình gồm tải kho mã nguồn, chạy script thiết lập, tải IPSW iOS 16.5 (7,4 GB) từ CDN của Apple về máy, dựng ảnh APFS rồi khởi chạy phiên QEMU 20 phút. Màn hình khóa xuất hiện sau khoảng 2–3 phút.

Trên điện thoại thật, người dùng cần POCO X5 Pro 5G với bootloader đã mở khóa, cùng adb và fastboot. Đáng chú ý là firmware của chính máy (GPU, Wi-Fi, âm thanh) không nằm trong kho mã nguồn và không thể nằm ở đó — nó được kéo trực tiếp từ phân vùng Android của chính chiếc máy sẽ chạy HackiOS.

Góc nhìn cho người dùng Việt Nam

Dự án này mang tính nghiên cứu thuần túy hơn là ứng dụng thực tế. Với cộng đồng yêu thích vọc vạch tại Việt Nam — vốn khá đông đảo trong lĩnh vực ROM, kernel và bảo mật di động — HackiOS là một tài liệu tham khảo giá trị về cách kernel XNU tương tác với phần cứng ARM, cách thay thế driver đóng và cách dựng một ngăn xếp hệ điều hành từ đầu.

Tuy nhiên, cần lưu ý: đây không phải sản phẩm dành cho người dùng phổ thông, không thể dùng làm máy chính do thiếu sóng di động và Bluetooth, và việc mở khóa bootloader luôn tiềm ẩn rủi ro bảo mật cũng như mất bảo hành.

Toàn bộ mã nguồn được phát hành theo giấy phép Apple Public Source License 2.0, chia thành hai kho: hackios-xnu-kernel (kernel, loader, UEFI, Wi-Fi, script QEMU) và hackios-xnu-userland (init, thư viện tiêm, tiến trình launchd, công cụ dựng ảnh APFS).

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗