Apple Virtualization.framework로 전체 iPhone 이미지를 부팅하려는 vphone-cli
- GitHub 프로젝트 vphone-cli는 제목에서 Apple Virtualization.framework로 가상 iPhone을 부팅한다고 설명하며, 저장소에는 별 8,500개와 포크 1,200개가 표시됨
- 토론 참가자는 iOS Simulator가 iOS 유저스페이스 일부를 macOS용으로 컴파일해 실행하는 방식인 반면, 이 프로젝트는 전체 iPhone 이미지를 가상화해 실행한다고 구분함
- 프로젝트 안내에는 iOS 초기 설정에서 일본과 EU 지역을 선택하지 말라고 적혀 있으며, 토론에서는 VM이 지역별 규제 검사를 충족하지 못하기 때문이라고 해석함
- 토론에서는 실행에 SIP를 끄거나 일부 비활성화해야 한다는 점이 지적됐고, 회사 장비에서는 사용하기 어렵다는 반응이 나옴
- 참가자들은 이 방식이 앱 성능 테스트, 프로파일링, 리버스 엔지니어링에 쓸 수 있다고 평가했으며 Apple이 향후 차단할 가능성도 질문함
Hacker News 의견들
PCC가 뭔지 모르겠음.
PCC는 Private Cloud Compute인 듯함. WWDC에서 iOS 27.x와 macOS 27.x부터 별도 API 설정 없이 Swift에서 직접 호출할 수 있다고 했다는 얘기를 오늘 봤음.
Xcode의 iOS Simulator가 이거랑 같은 건가 했는데, 아닌가 보네.
Simulator는 가상화가 아니라 macOS에서 로컬로 돌아감. 일반 명령어 집합을 쓰고 별도 커널과 유저스페이스를 띄우지 않아서 RAM과 CPU 부담도 더 적음.
실제로 되면 테스트와 리버스 엔지니어링에 쓸 곳이 엄청 많겠음.
SIP를 끄거나 일부 비활성화해야 한다는 건 아쉬움. 다른 기능이 깨질 수도 있겠고 회사 장비에서는 못 돌릴 듯함.
Corellium이 리서치 전용으로 바뀐 뒤 원하는 방식의 앱 프로파일링을 못 했는데, 이건 반가운 소식임. Apple이 Corellium을 막으려 했으면서 결국 필요한 구성 요소를 직접 내놓은 셈이라는 글도 있더라.
일본이나 EU를 지역으로 고르지 말라는 안내가 있던데, VM이 통과하지 못하는 규제 검사가 뭔지 궁금함.
일본은 FeliCa 칩 검사일 수도 있음.
EU는 대체 앱 마켓 접근 조건 때문일 가능성이 큼. Apple은 기기 내 처리로 적격성을 판정하고 EU 내 실제 위치와 Apple ID 국가 또는 지역도 요구한다고 설명했음.
일본은 서드파티 음성 비서에 측면 버튼을 할당하는 com.apple.developer.side-button-access.allow 권한도 지역 기능으로 있음.
이게 iOS Simulator와 뭐가 다른지 처음엔 이해가 안 갔음.
Simulator는 iOS 유저스페이스 일부를 macOS용으로 컴파일한 것이고, 이 프로젝트는 아이폰 이미지를 그대로 가상화해 돌리는 방식임. Simulator는 완전히 다른 OS라서 Intel 기반 구성 요소가 남아 있을 수도 있다고 봄.
Apple이 나중에 이걸 막을지 궁금함.
언젠가 PC에서도 이와 비슷한 걸 돌릴 수 있을까 궁금함.