Memvirtualisasikan iOS di Apple Silicon
Part 0: Wilayah yang belum dikenal?
- Proyek vma2pwn: Proyek untuk membuat rantai boot vma2 macOS yang dapat dimodifikasi untuk mesin virtual guest macOS, dan merupakan pekerjaan pendahuluan untuk virtualisasi iOS.
- Kemungkinan virtualisasi iOS: Seiring transisi ke Apple Silicon dan diperkenalkannya Mac Catalyst yang membuat sistem operasi iOS dan macOS semakin dekat, muncul pertanyaan apakah iOS dapat divirtualisasikan.
- Riset yang sudah ada: Produk cloud iPhone virtual milik Corellium, qemu-t8030, dan blog Zhuowei Zhang disebut sebagai riset terkait.
Part I: Memulai + temuan baru
- Fitur stack Virtualization milik Apple: Ditemukan fitur penandatanganan data arbitrer untuk mesin virtual.
- Berkurangnya kebutuhan akan vma2pwn: Perangkat virtual dapat diatur ke mode "aman" dan "non-produksi" melalui pemanggilan
_setProductionModeEnabled(false).
- Strategi menjalankan iOS: Menggunakan kembali rantai boot macOS 12.0.1 dan menggantinya dengan image sistem iOS 15.0.2 untuk meminimalkan modifikasi pada proses inisialisasi.
Part II: Neraka patch
- Patch kernel: Diperlukan patch untuk melewati pemeriksaan tanda tangan, serta modifikasi agar pemeriksaan
PLATFORM_IOS dilewati supaya biner iOS bisa dijalankan.
- Masalah keybag sistem: Karena ketidakcocokan keybag sistem, PreBoard.app menampilkan pesan "geser ke atas untuk upgrade".
- Ketidaksesuaian ukuran struktur IOMFB: Masalah kernel panic akibat ketidaksesuaian ukuran antara framework sistem iOS dan kernel macOS berhasil diatasi.
- Patch sistem: Diperlukan patch pada ramdisk pemulihan dan file sistem iOS, karena proses akan dihentikan jika dijalankan dalam keadaan tidak ditandatangani.
Part III: Masa depan
- Menyelesaikan masalah keybag sistem: Diperlukan lebih banyak patch dan pemahaman yang lebih dalam terhadap sistem iOS dan kernel.
- Fungsi sentuh: Belum dipastikan apakah fungsi sentuh bekerja, tetapi event sentuh dapat dikirim menggunakan API privat dari
Virtualization.framework.
Ringkasan GN⁺
- Tulisan ini memberikan eksplorasi teknis mendalam tentang cara memvirtualisasikan iOS di Apple Silicon.
- Seiring integrasi iOS dan macOS semakin dipercepat, proyek ini memainkan peran penting dalam mengeksplorasi interoperabilitas antara kedua sistem operasi tersebut.
- Proyek ini membutuhkan banyak waktu dan usaha, serta masih memerlukan riset dan pengembangan tambahan.
- Proyek dengan fungsi serupa termasuk produk cloud iPhone virtual milik Corellium.
1 komentar
Komentar Hacker News
Corellium memenangkan gugatan hukum sehingga kini dapat menyewakan iOS Cloud VM untuk tujuan riset keamanan
Ada harapan agar tantangan berikutnya adalah menemukan cara menginstal macOS di iPad
Terasa seperti alasan Apple tidak menjadikan Simulator sebagai Emulator adalah karena mereka tidak ingin orang-orang mengutak-atik fondasi iOS
Menurut profil GitHub penulis, ini adalah pekerjaan yang sangat mengesankan untuk seorang lulusan baru ilmu komputer
Orang yang membuat qemu-t8030 berhasil menjalankan springboard, tetapi tidak merilis kodenya. Akan sangat bagus jika progres ini bisa digabungkan dengan proyek saat ini
Topiknya agak berbeda, tetapi saya penasaran apakah ada yang pernah memvirtualisasi macOS ARM di x86-64
Apple sudah menyediakan simulator iOS di XCode. Saya penasaran apa kelebihan proyek ini dibandingkan yang disediakan Apple
Diskusi tentang topik ini sedang berlangsung di server Discord nick's funny device emporium