jprx/darwin-vm
Run iOS/ macOS in Qemu. Virtual iPhone 17, 16, 15, 14, 13, 12 and M5-M1 Apple Si Macs supported.
해결하는 문제
darwin-vm은 Qemu 내에서 경량이고 디버깅 가능한 iOS 및 macOS(Darwin) 버전을 실행할 수 있게 해줍니다. 물리적 하드웨어나 복잡한 재설치 없이도 사용자 정의 명령줄 프로그램을 테스트하거나, XNU 커널을 디버깅하거나, 저수준 시스템 내부를 탐색할 수 있습니다.
작동 방식
이 프로젝트는 Apple Silicon의 SPTM 및 TXM을 지원하도록 확장된 특수한 Qemu 포크(qemu-sptm)를 사용합니다. IPSW 파일에서 수정된 복구 이미지(ramdisk)를 부팅하여 GUI를 건너뛰고 바로 루트 쉘로 부팅합니다. 사용자는 Xcode로 사용자 정의 바이너리를 컴파일하고 서명한 후, 가상 파일 시스템에 삽입하여 루트 권한으로 실행할 수 있습니다.
대상 사용자
Darwin 내부 구조를 분석하거나 커널을 패치하거나, 물리적 장치 없이도 Apple 운영체제에서 사용자 정의 코드를 실행하고 싶은 커널 개발자, 보안 연구자, 저수준 시스템 애호가를 위한 것입니다.
주요 특징
- 광범위한 하드웨어 에뮬레이션: iOS용 A19-A14 및 macOS용 M5-M1을 포함한 다양한 Apple Silicon CPU를 에뮬레이션 가능.
- 기본적으로 루트 접근 권한: 즉시 루트 쉘로 부팅되며, 재설치나 커널 패치가 필요 없음.
- 커널 디버깅: GDB/LLDB와 통합되어 커널, SPTM, TXM, 사용자 공간 프로그램의 패치 및 디버깅이 가능.
- 사용자 정의 바이너리 실행: 컴파일, 서명, VM의 ramdisk에 추가하는 워크플로우 제공.
- 개발용 커널 지원: 심볼 접근성과 디버깅 기능을 강화하기 위해 사용자 정의 또는 개발용 커널(KDK) 부팅을 지원.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch