프로젝트 소개

vphone-cli는 물리적 Apple Silicon Mac에서 가상 iPhone을 실행하기 위한 macOS 도구이다. Apple의 Virtualization.framework와 연구용 가상 머신을 사용하며, 보안 연구, 리버스 엔지니어링, 디버깅 워크플로를 위한 것이다. 주요 기능은 다음과 같다: - 앱/파일 탐색, 스크린샷, 화면 녹화를 지원하는 그래픽 가상 iPhone 창. - 호환되는 iPhone 및 cloudOS IPSW 파일 사용을 포함한 사전 패치된 커스텀 펌웨어 지원. - Launchpad 앱을 통한 펌웨어 다운로드, 패치, 시스템 복원, 최초 부팅 설정. - 생성, 목록, 검사, 시작, 중지, 복제, 내보내기, 가져오기와 같은 VM 관리 작업. - apt, bash, uikittools, launchctl, openssh-server를 포함한 Irisin을 통한 선택적 부트스트랩/패키지 환경 설치. - 실행별 또는 고정 bearer-token 인증을 지원하는 선택적 로컬 HTTP 및 WebSocket API. - vphone-cli를 통한 직접 명령줄 사용, VM은 기본적으로 ~/.vphone/에 저장됨. - Xcode, Python, Homebrew에 대한 런타임 요구 사항 없음. 요구 사항: - macOS 15 이상을 실행하는 물리적 Apple Silicon Mac; macOS VM 내부에서는 실행되지 않는다. - 충분한 저장 공간, VM당 기본 64 GB 가상 디스크와 펌웨어 및 임시 파일 포함. - 시스템 복원이 온라인에서 서명 티켓을 가져오므로 네트워크 접근 필요. - 완화된 디버깅 제한과 활성화된 연구용 게스트를 포함한 macOS Recovery에서의 호스트 보안 구성. 프로젝트는 설정 및 번들 관리를 위한 vphone-launchpad, 펌웨어 및 VM 작업을 위한 vphone-cli, 가상 머신 실행 및 표시를 위한 vphone-vm, 게스트 내 제어 및 API 기능을 위한 vphoned로 구성된다. 버전 2.x는 1.x에서 생성된 VM을 시작할 수 없으므로 해당 머신은 다시 생성해야 한다. 소스에서 빌드하려면 제공된 Xcode 워크스페이스와 xcodebuild를 사용한다.