HeadlinesBriefing HeadlinesBriefing.com

Hacki OS: execute iOS 16.5 em dispositivos Android

Hacker News •
×

Hacki OS é um projeto de pesquisa independente que inicializa o kernel XNU de código aberto da Apple (xnu-8796.121.2, o kernel do iOS 16.5) em hardware de celulares Android e executa, sobre ele, o espaço de usuário do iOS 16.5 sem modificações, do launchd ao backboardd e ao SpringBoard, até os aplicativos. O projeto depende de seu próprio carregador EFI, de substituições próprias para os drivers fechados da Apple, de um port de UEFI e de um driver Wi-Fi para Linux executado em uma camada de compatibilidade.

O sistema roda em dois ambientes. No POCO X5 Pro 5G (redwood, Snapdragon 778G), nada é gravado no aparelho: o UEFI é iniciado com fastboot boot, todo o sistema fica na RAM e, após reiniciar, o celular volta ao Android. Ele também roda sob QEMU (virt, aarch64) em qualquer computador Linux, sem necessidade de celular. O projeto está dividido em dois repositórios: hackios-xnu-kernel contém os patches do XNU, o carregador EFI, o port de UEFI, o trabalho com Wi-Fi e os scripts de QEMU, enquanto hackios-xnu-userland contém o init personalizado, as bibliotecas injetadas, os jobs do launchd, o construtor de imagens APFS e o trabalho com Metal/Mesa. Nenhum arquivo da Apple é incluído. O script de download obtém o IPSW do iOS 16.5 diretamente do CDN da Apple, para a máquina do próprio usuário.

Funcionam a tela de bloqueio, a tela inicial, a conexão celular, o Bluetooth, os gestos do sistema, a Central de Controle e aplicativos como Ajustes, Safari e Fotos. O Wi-Fi alcança de 55 a 90 Mbit/s, e o som e a câmera funcionam. Os dados gravados pelo iOS sobrevivem a uma reinicialização. Ainda não funcionam o carregamento do celular sob este kernel, a tela sensível ao toque, o conteúdo da App Store e o login com Apple ID.

O projeto é uma bancada de pesquisa, e não uma ROM: cada sessão dura um número determinado de segundos, após o qual o kernel retorna ao carregador.

Fonte: Hacker News · Resumido por HeadlinesBriefing