EXPLORINEER
ko

Hacker News

Show HN: 안드로이드 기기에서 iOS 16.5 펌웨어 전체 실행

보안처음 오른 때 점수 494댓글 181


HackiOS라는 연구 프로젝트는 안드로이드 폰과 QEMU 가상 머신에서 아이폰 운영체제 iOS 16.5를 실행하는 방법을 보여줍니다. 아이폰 기기 자체가 아니라, 안드로이드 하드웨어 위에서 iOS를 돌리는 것입니다.

무슨 일이 일어났나

HackiOS 팀은 애플의 공개 커널(XNU)을 안드로이드 폰에서 부팅하고, 애플의 iOS 16.5 사용자 화면(잠금 화면, 홈 화면, 앱)을 그 위에서 실행합니다. 커널은 iOS 16.5에 들어 있던 버전(xnu-8796.121.2)입니다. 팀은 자체 EFI 부트로더, 애플의 닫힌 드라이버를 대신하는 코드, UEFI 포팅, 리눅스 Wi-Fi 드라이버를 만들어 이를 가능하게 했습니다. POCO X5 Pro 5G 폰에서는 fastboot boot 명령으로 시작하며, 폰의 저장 공간에 아무것도 설치하지 않습니다. 재부팅하면 다시 안드로이드로 돌아옵니다.

핵심 사실

  • 지원 기기: POCO X5 Pro 5G(Snapdragon 778G)와 QEMU 가상 머신(aarch64)
  • 최대 CPU 코어 8개(cpus=8), 큰 코어는 2.4GHz
  • 잠금 화면까지 약 20초
  • Wi-Fi 속도 55~90 Mbit/s
  • Adreno 642L GPU를 Mesa/freedreno로 사용(gpu=1)

애플 파일 없이 돌아가는 구조

두 저장소 어디에도 애플 파일이 들어 있지 않습니다. ios165/fetch.sh 스크립트가 애플 서버에서 iOS 16.5 설치 파일을 여러분의 컴퓨터로 내려받아 필요한 부분만 꺼냅니다. 이 프로젝트는 독립적인 연구이며, 애플과 관련이 없고 애플의 승인을 받지도 않았습니다.

안 되는 것

  • 셀룰러 통신과 블루투스
  • 우리 커널에서의 충전(폰은 방전만 됨)
  • App Store 콘텐츠와 Apple ID 로그인
  • 동영상 및 Live Photo 녹화

왜 중요한가

이 프로젝트는 운영체제가 기기 하드웨어와 어떻게 연결되는지 보여 줍니다. 여러 운영체제를 한 기기에서 실험할 수 있다는 가능성을 보여 주지만, 아직 일상에서 쓸 수 있는 ROM은 아닙니다. 세션은 정해진 시간이 지나면 끝나고 커널이 로그를 남기며 부트로더로 돌아갑니다.

용어 풀이

QEMU
컴퓨터 안에서 다른 기기를 흉내 내어 운영체제를 실행하게 해 주는 가상 머신 프로그램입니다.
fastboot boot
안드로이드 폰을 컴퓨터와 연결해 저장 공간을 건드리지 않고 임시 시스템을 시작하는 명령입니다.
Mesa/freedreno
Adreno 같은 그래픽 칩에서 화면을 그리도록 돕는 오픈소스 그래픽 드라이버입니다.