Magisk sekarang mendukung sistem-as-root dan partisi logis Google Pixel 3 / Pixel 3a di Android Q

Google merilis Android Q beta pertama kembali pada bulan Maret, dan akses root melalui Magisk dengan cepat menjadi tersedia untuk Google Pixel dan Google Pixel 2. Google Pixel 3, bagaimanapun, tidak dapat di-root di Android Q karena pengembang Magisk, Pengembang yang Diakui topjohnwu, perlu mencari cara untuk bekerja dengan tata letak partisi logis baru. Dengan magang barunya di Apple, topjohnwu memiliki waktu lebih sedikit untuk bekerja di Magisk, tetapi itu tidak menghentikannya untuk memiliki dua terobosan besar dalam pengembangan. Dalam rilis Canary terbaru, Magisk sekarang mendukung sistem sebagai root, mempersulit aplikasi untuk mendeteksi akses root, dan juga mendukung perangkat dengan partisi logis seperti Pixel 3 dan Pixel 3a XL series di Android Q.

Google Pixel 3 Forums Google Pixel 3 XL Forums

Google Pixel 3a Forums Google Pixel 3a XL Forums

Google Pixel 3 dan Pixel 3a Dukungan Partisi Logis di Android Q

Untuk membantu pengembang menguji versi AOSP Android pada perangkat yang ada, Google merilis Generic System Images (GSIs) yang dapat di-boot pada perangkat yang kompatibel dengan Project Treble (perangkat apa pun yang diluncurkan dengan Android 9 Pie atau yang lebih baru.) Memasang GSI memerlukan membuka bootloader., yang mungkin tidak dapat dilakukan di semua perangkat, dan mem-flash gambar sistem melalui fastboot setelah menghapus data pengguna. Di Android Q, Google memperkenalkan fitur baru yang disebut Pembaruan Sistem Dinamis yang memungkinkan pengembang mem-boot GSI tanpa membuka kunci bootloader atau menghapus data. Untuk mendukung Pembaruan Sistem Dinamis, perangkat perlu memiliki partisi logis yang dapat diubah ukurannya secara dinamis untuk memberi ruang bagi instalasi GSI. Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a, dan Google Pixel 3a XL memiliki partisi logis pada Android Q betas, meskipun hanya Pixel 3 dan Pixel 3 XL yang mendukung DSU. Meskipun demikian, karena perubahan radikal dalam struktur partisi inilah Magisk tidak berfungsi.

Ketika topjohnwu ditentukan, tidak ada yang menghentikannya untuk mencapai akses root. Beberapa hari yang lalu, ia mengumumkan bahwa ia telah berhasil melakukan rooting Pixel 3 XL-nya di Android Q beta 4. Deskripsi komitnya di sini menjelaskan perincian teknis tentang bagaimana ia mencapai dukungan partisi logis, tetapi yang penting adalah bahwa Magisk sekarang dapat diinstal pada perangkat dengan atau tanpa partisi logis.

//twitter.com/topjohnwu/status/1144832417946984448

Dukungan System-as-Root

Untuk perangkat dengan partisi ganda A / B, partisi sistem dipasang sebagai direktori root (/), tetapi perangkat tanpa partisi ganda A / B memiliki partisi sistem yang terpasang di / sistem. Ini membuat OTA hanya sistem tidak mungkin pada perangkat non-A / B karena file dalam ramdisk, yang perlu diperbarui, terletak di partisi boot. Karena itu, untuk memungkinkan OTA khusus sistem di Android Pie dan di atasnya, Google mengamanatkan bahwa semua perangkat yang diluncurkan dengan Android Pie mendukung tata letak partisi sistem sebagai root. Dalam tata letak sistem-sebagai-root, gambar ramdisk digabungkan ke dalam gambar sistem, yang dipasang sebagai rootfs.

Sejak Google memperkenalkan sistem-as-root, solusi untuk perangkat root adalah mengembalikan sistem-as-root kembali ke tata letak partisi lama "initramfs rootfs". Itu berfungsi dengan baik untuk Android 7.1 hingga Android 9 Pie karena Android memiliki dukungan lama untuk tata letak lama ini, tetapi Android Q sepenuhnya menghilangkan dukungan karena sistem-as-root sekarang wajib untuk semua perangkat, bahkan untuk perangkat yang memperbarui ke Android Q. Versi sebelumnya dari Magisk masih bekerja berkat beberapa "peretasan yang benar-benar jahat, " tetapi topjohnwu tidak puas dengan solusi itu sehingga untuk mendukung sistem-as-root dengan baik, ia telah memperkenalkan "MagiskInit."

Efek samping yang bagus dari mendukung tata letak partisi sistem-as-root dengan benar adalah bahwa satu jalan potensial untuk deteksi root telah tergencet. Seperti yang dijelaskan oleh topjohnwu dengan ramah kepada saya, metode lama "kembalikan ke initramfs rootfs" adalah mudah untuk dideteksi oleh aplikasi karena Magisk akan memasang sistem ke '/ system_root' dan mengikat mount '/ system_root / sistem' ke '/ sistem.' Semua aplikasi perlu lakukan untuk mendeteksi keberadaan root adalah memeriksa apakah '/ system_root' ada atau jika '/' adalah 'rootfs.' Namun, tidak jelas apakah ada aplikasi yang memanfaatkan ini untuk mendeteksi root. Tetap saja, ini lebih aman daripada menyesal.

Perubahan Lain-Lain

Android Q memperkenalkan dukungan untuk sesuatu yang disebut "blastula pool" ke siklus hidup aplikasi Android. MagiskHide tidak dapat mendeteksi aplikasi untuk menyembunyikan akses root dari jika fitur "kumpulan proses" yang baru diaktifkan. Rilis Canary terbaru sekarang mendukung fitur ini. Menurut topjohnwu: "Untuk benar mendukung optimalisasi blastula pool baru yang diperkenalkan di Q, saya telah menulis ulang sejumlah besar logika ptracing untuk pemantauan proses."


Jika Anda memiliki Pixel 3, Pixel 3 XL, Pixel 3a, atau Pixel 3a XL di Android Q beta, cobalah rilis Magisk Canary terbaru dan beri tahu kami jika Anda berhasil melakukan rooting perangkat Anda.

Saluran Canary Magisk