SuperSU BETA: Stok Çekirdekte Android Lollipop'u Köklendirin

click fraud protection

Son Dakika: Chainfire bugün SuperSU Beta 2.27'yi duyurdu ve Android 5.0'da kök erişiminden yararlanmak için çekirdek ramdisk değişikliklerine olan ihtiyacı ortadan kaldırdı.

Şimdiye kadar, Android 5.0'da root almak istiyorsanız, bazı SELinux kısıtlamalarını aşmak için değiştirilmiş bir çekirdeği cihazınıza yüklemeniz gerekiyordu. XDA Kıdemli Tanınmış Geliştirici Zincirleme ateş yakın zamanda önceden gerekli olanı yayınladı CF-Otomatik Kök AOSP üzerindeki install-recovery.sh betiğinden SELinux kısıtlamasını kaldırmak için gerekli çekirdek ramdisk değişikliklerini yapan paket. Ancak bu sabah Chainfire birçok yüze gülümseme getirdi. Twitter'da duyuruldu ileriye dönük olarak buna artık gerek kalmayacağını.

Bugüne kadar Chainfire, otomatik ZIP tabanlı bir yama aracı yayınlamayı planlamıştı. ihtiyacını ortadan kaldırmak için uygun bir yöntem bulana kadar TWRP kurtarma içinden çekirdek görüntüleri yamasını yapın. Bu.

Bu açıklama, Android 5.0 kullanıcılarının artık SuperSU (veya diğer kök çözümleri) aracılığıyla kök erişimi elde etmek için değiştirilmiş bir çekirdek çalıştırmalarına gerek olmadığı anlamına geliyor. Kilidi açılabilir önyükleyicilere sahip Nexus cihazlarda çok büyük bir sorun olmasa da, ramdisk değişikliklerine duyulan ihtiyaç Kilit açmanın mümkün olmadığı, önyükleyici kilitli cihazların birçok kullanıcısı için endişe vericidir (evet, ne yazık ki bunu yapıyorlar) var olmak). Artık dualarının yanıtı burada ve ihtiyaç duyulan değişikliklere ilişkin özel bir açıklama sunabiliyoruz. En azından şimdilik (Google bunu yamalayana kadar/yamadıkça), çekirdek erişimi elde etmek ve ardından herhangi bir çekirdek ramdisk ayarı yapmadan SuperSU'yu stok Android 5.0 cihazına yükleyip kullanmak mümkündür. Bunun nedeni, SuperSU'nun SELinux korumalı cihazlarda kısıtlamasız kök erişimine izin vermek için bir hizmeti kök olarak çalıştırma ihtiyacıdır.

Daha önce SuperSU önceden yüklenmiş AOSP'den yararlanıyordu flash_recovery SuperSU arka plan programını başlatmak için (gerçekte onu talep eden uygulamalar için kök ayrıcalıkları sağlar) hizmeti (bir OTA kurulumundan sonra kurtarmayı güncellemek için AOSP'de kullanılır). Lollipop'un piyasaya sürülmesiyle bu hizmet, kısıtlı bir SELinux bağlamına eklendi, bu da artık sisteme katıksız erişime sahip olmadığı anlamına geliyor. Önceki çekirdek değişiklikleri, bu komut dosyasındaki SELinux kısıtlamalarını kaldırmayı amaçlıyordu.

Chainfire'ın SuperSU'nun en son beta sürümü, çekirdek 'Zygote' hizmetini (tüm Java hizmetlerini ve dolayısıyla bir cihaza yüklenen tüm uygulamaları başlatmaktan sorumludur) kullanarak bu sorunu çözmektedir. Zygote, Android L'de bulunan ve root olarak başlatılan tek hizmetlerden biri olduğundan sınırsız "init" SELinux bağlamı, bu onu SELinux'un çalışmasında kullanım için birincil hedef haline getirir. SüperSU. Önyüklemeden sonra, Zygote hizmetinin SELinux "init" bağlamı nihai (kısıtlı) "Zygote" bağlamına geçirilir. Chainfire, kodu kök kullanıcı olarak çalıştırmak için Zygote dosyalarını başarıyla değiştirmeyi başardı. sınırsız "init" bağlamı içinde, böylece SuperSU'yu çekirdek olmadan Android L'ye geri getiriyoruz değişiklikler.

Bu, Chainfire'ın bu sorunları çözmek için Zygote'a başvurduğu ilk sefer değil; Önceki 2.23 beta, Zygote'u muhtemelen diğer bazı SELinux sorunlarını (Android L'de kök uygulamaların bozulmasına neden olan) aşmanın bir yolu olarak kullanıyordu. Bu, çalışmayan uygulamaların bazılarının (hepsinin değil) çalışmasına izin verdi; geri kalanlar, geliştiricilerinin bazı güncellemeler yapmasını gerektiriyor. Ne yazık ki 5.0 AOSP koduna bakıldığında Google'ın Zygote hizmetini devralma yöntemini zaten kırdığı ortaya çıktı. Zygote'u ele geçirmeye yönelik önceki tüm girişimlerinin başarısız olduğu göz önüne alındığında, bu ileriye doğru umut verici bir adımdır.

Chainfire, SuperSU'nun çalışan bir sistemdeki SELinux politikalarını uzun süredir değiştirebildiğini belirtmekte istekliydi (ve bu işlemin kolaylığı konusunda uyarıda bulundu). bir OEM'in bunu devre dışı bırakabileceği ve anlamlı ve basit kök erişimini gerçekten önleyebileceği) ve Zygote'ta herhangi bir değişikliğin nasıl yapılması gerektiği Dikkatli bir şekilde, hizmetin farklı bağlamlarda, farklı görevler için çalıştırıldığı göz önüne alındığında, bu durum bazı (kötü) durumların ortaya çıkma olasılığını artırır. ince başarısızlıklar Bu yeni SuperSU beta 2.27, meraklıların ve diğer teknoloji meraklılarının neyin kırıldığını bulmaları için oynayabilecekleri bir yapıdır. Elinize sağlık; beklenmeyen, dikkat çekici hiçbir hata yok ve bu, ileriye yönelik uygulanabilir bir yoldur.

Not: Bu beta işe yarasa ve kök erişimi elde etmek için tercih edilen yol Zygote olsa bile, ileriye dönük olarak tüm süreç yalnızca tek satırlık bir değişiklik olacaktır. Google tarafından kırılmaktan uzaktır, bu da yamalı çekirdek ramdisk'lerini Android'de root erişimi için gelecek haline getirir (böylece önyükleyici kilitli olanlar için root devre dışı bırakılır) cihazlar). Aslında, bir uyarı olarak, oldukça büyük SELinux nedeniyle yeni süreç tamamen güncel bir AOSP yapısında bile çalışmayabilir. perakende cihazlarda yer almayan ancak gelecekte mutlaka yer alacak olan son birkaç aydaki değişiklikler Salıverme. Er ya da geç, kök için değiştirilmiş çekirdek ramdisklerinin gerekli olacağı muhtemel görünüyor, ancak bu yeni beta, o yöne gitmeden önce kısa bir yürütme süresi sunabilir.

Çıkış yapmak sürüm notları Bunu test etmenin içerdiği riskler hakkında daha fazla bilgi ve bağlantılar için. Geliştiriciler ayrıca Chainfire'ın şu anda yoğun bir şekilde çalıştığının farkında olmalıdır. "Nasıl Yapılır SU" kılavuzu (Android 5.0 için tamamen güncellendi) önümüzdeki birkaç gün içinde kullanıma sunulacaktır.

[Chainfire'a buradaki çalışması ve bu makalenin hazırlanmasındaki yardımları için çok teşekkür ederiz.]