Köklenme nasıl çalışır?


23

Veya cihazımı bir kök olmadan nasıl kökten çıkarabilirim?

Gördüğüm Android cihazlar için köklendirme talimatları tipik olarak aşağıdaki formdadır:

  1. İndir Gingerbreak.apk
  2. Gingerbreak'yi çalıştırın, “root device” a tıklayın
  3. Bunun Superuser.apksihirli bir şekilde kurulmuş olduğunu, muhtemelen busyboxve başka şeylerle birlikte olduğunu gözlemleyin ve köklü iyiliğinizin tadını çıkarın.

Bilmek istediğim şey şudur: köklenme nasıl gerçekleşir? Gingerbreak ne yapar?

Köklemenin sonucunu anlıyorum:

  • su mevcut ve çalışıyor
  • Superuser.apk yüklü ve su
  • BusyBox tarafından sağlanan çeşitli yardımcı programlar mevcuttur (isteğe bağlı?)

Ayrıca Gingerbreak'nin nasıl başladığına dair temel fikri anladığımı da düşünüyorum - bazı yerel ayrıcalık yükselme güvenlik açığı kullanıyor ve yeni kullanıcı yetkilerini Superuser'i dağıtmak için kullanıyor ve ne gerekiyorsa gerekli.

Bu nedenle, yukarıda ortaya koyduğum bazı anlayışlarda yanılmıyorsam, bilmek istediğim şeyin özü, kök yükleyicinin Süper Kullanıcıyı dağıtmak ve etkinleştirmek için yaptığı şeydir. Görünen o ki, sadece Superuser.apkdoğru yere koymak yeterli olmaz - root erişimine nasıl izin verilir? Diğer uygulamalar için bu erişimi ılımlı hale nasıl getirir?

Gingerbreak, kök erişimini sağlamak ve güvenliğini sağlamak için istismar sonrası ne yapar?


Yanıtlar:


16

APK ve istismarın yaptığı (genellikle) aşağıdaki gibidir:

  • APK, istismarın çalıştırılması için doğru dosyaları doğru yere koyar
  • APK istismar çalışır
  • Kötüye kullanım kök erişimini sağlamaya çalışır
  • Eğer başarılı olursa, exploit / system read-write olarak remounts ve installer betiğini çalıştırır
  • Yükleyici komut dosyası su ikili ve süper kullanıcı APK yüklemeye çalışır ve yeniden başlatır

Bir örnek olarak, bu sayfa , dağılma sömürüsünün istismarın nasıl yüksek ayrıcalıklar kazanmaya çalıştığını anlatmaktadır.


2
Teşekkürler. Bunun asıl sorumu daha da daraltdığını düşünüyorum - yükleyici komut dosyasının tam olarak ne işi var? Ya da okumak için bir kopyasını nereden bulabilirim? Gördüğüm dokümanların çoğu çok opak - bazı bu rasgele dosya paylaşım sitelerine bir bağlantı ile "bu APK indir, işe yarıyor".
Michael Ekstrand

su, Unix benzeri ortamlarda (Android'in temel aldığı) ayrıcalıkların yükseltilmesine izin verir. Su ikili dosyası yüklendiğinde, uygulamalar / komut dosyaları, sıradan kullanıcılar için normalde kısıtlı olan dosya sisteminin parçalarını çalıştırmak ve erişmek için su ve sudo komutlarını kullanabilir. Temelde, bu nedenle bir kişi bir telefonu köklendirir - sistemin “sınırlı” bölümlerine erişebilmek ve sıradan bir kullanıcının gerçekleştirmesine izin verilmeyen komutları yerine getirebilmek.
Sparx

9

Çok kazdıktan sonra nihayet anladım. Sihirin nerede olduğu konusunda yanılmışım - yükleyici betiğinde değil; tek yapması gereken suve Superuser.apkikili dosyalarını doğru yere koymak ve izinlerini ayarlamaktır. Bu yüzden gerçekten dosyaları yerinde bırakmak ve izinleri ayarlamak kadar basittir. Sihirli kablolama yok.

Sihir ikilide gerçekleşir su( kaynağa ve ayrıca bu soruya bakın ). Bunun subir standart suolduğunu ve yanlış bir şekilde bu ikili sisteme orta derecede erişime sahip olduğunu düşünmüştüm Superuser.apk.

Yanlış. Gerçekte olan şey çok daha basittir: Superuser, suSuperuser ve yetkili uygulama veritabanı üzerinden erişimi doğrulayan özel bir uygulama sağlar .

Böylece köklenme işlemi @Sparx'ın söylediği kadar basittir. Dağıtılan yazılım sihri içerir.


Bunun önemli bir şeyi özlediğini düşünüyorum: sukendisi sihir değil, onunla ilgili tek sihir işletim sisteminin ona özel davranması. OS tarafından belirli bir uygulamanın izinleri yükseltmesine izin verip vermeyeceği sorulduğunda tüm yapması gereken "Tamam" veya "Tamam Değil" döndürmektir. Eksikse veya her zaman "Tamam değil" i döndürürse normal uygulamalar hiçbir zaman kökü alamaz. Bu nedenle köklendirme, subazen “OK” diyebilecek bir ikiliyi, bunun yapılmasına izin vermeyecek bir sistemdeki korumalı konuma yerleştirme işlemidir .
RomanSt

4
all that has to do is put the su and Superuser.apk binaries in the right place and set their permissionsBir sömürü olmadan bu kolay olacak gibi, sömürü sihirdir.
Alex,

1
@Alex Çok değil. Özellikle bir horozun istismar sonrası ne yaptığını anlamaya çalışıyordum . Bu durumda, ADB üzerinden root erişimine sahip olduğum için gereksiz yere bir istismar yapmak istemedim.
Michael Ekstrand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.