Root (Android)

**Rootlama,** Android cihaz kullanıcılarının genellikle akıllı telefonlar ve tabletler olmak üzere cihazın çeşitli alt sistemleri üzerinde ayrıcalıklı yetki (root erişimi olarak bilinir) elde edebilmeleri işlemidir. Android, Linux çekirdeğinin değiştirilmiş bir sürümünü temel aldığından, bir Android cihazının "rootlanması", Linux'ta, FreeBSD'de veya macOS gibi bir Unix benzeri işletim sisteminde olduğu gibi yönetim (root) izinlerine benzer erişim sağlar.

Android'de "Rootlama", genellikle operatörlerin ve donanım üreticilerinin bazı cihazlara koyduğu sınırlamaları kaldırmak için gerçekleştirilir. Bu nedenle "rootlama", sistem uygulamalarını ve ayarlarını değiştirme, yönetici düzeyinde izinler gerektiren özel uygulamaları çalıştırma veya normal bir Android kullanıcısının başka şekilde erişemeyeceği diğer işlemleri gerçekleştirme yeteneği (veya izni) verir. Bazı cihazlarda "rootlama", cihazın işletim sisteminin tamamen kaldırılmasını veya mevcut işletim sisteminin daha yeni bir sürümüyle değiştirilmesini de kolaylaştırabilir.

Root erişimi, bazen Apple iOS işletim sistemini çalıştıran jailbreak yapılmış cihazlarla karıştırılır. Ancak, bunlar farklı kavramlardır. Jailbreak, çeşitli Apple kısıtlamalarından kurtulmak için yapılan bir işlemdir. Bu kısıtlamalar arasında işletim sisteminin değiştirilmesi (kilitli önyüklemeden dolayı mecburidir), resmi olarak onaylanmamış (App Store'da bulunmayan) uygulamaların yan yükleme yoluyla yüklenmesi ve kullanıcıya yönetici düzeyinde artırılmış yetkilerin (root yetkilerinin) verilmesi bulunur. Bunun aksine HTC, Sony, OnePlus, Asus, Xiaomi ve Google gibi birçok firma, cihazların kilidini açma ve işletim sistemini tamamen değiştirme olanağını açıkça sağlar. Benzer şekilde, uygulamaların dışarıdan (uygulama mağazaları dışından) yüklenmesine kök izinleri olmayan Android cihazlarda genellikle izin verilir. iOS jailbreak işleminin kullanıcılara yönetici ayrıcalıkları verme yönü, **Android rootlamasıyla** doğrudan ilişkilidir.

Rootlama , SIM kilidinin açılması ve önyükleyicinin kilidinin açılmasından farklıdır. İlki, telefondaki SIM kart kilidinin kaldırılmasına izin verirken ikincisi, telefonun önyükleme bölümünün yeniden yazılmasına (örneğin, işletim sistemini kurmak veya değiştirmek için) izin verir.

## Genel Bakış

"Rootlama", kullanıcı tarafından yüklenen tüm uygulamaların stok cihazlarda bulunmayan ayrıcalıklı komutları çalıştırmasına olanak tanır. Sistem dosyalarını değiştirmek veya silmek, önceden yüklenmiş uygulamaları kaldırmak ve donanıma düşük düzeyde erişim (yeniden başlatmak veya dokunmatik girişleri yeniden kalibre etmek gibi) sağlamak ve benzeri daha gelişmiş ve potansiyel olarak tehlikeli işlemler için root erişimi gerekir. "Rootlama" işlemi yapılırken, aynı zamanda root veya süper kullanıcı hakları verilen uygulamaları söz konusu izinleri vermeden önce kullanıcıdan onay talep ederek denetleyen Süper Kullanıcı uygulaması (örneğin Magisk) yüklenir. Kurulu işletim sistemini kaldırmak veya değiştirmek için cihazın önyükleyici kilidini açan ikincil bir işlem gerekir.

İOS jailbreak işleminin aksine, Android'de Google Play Store dışında dağıtılan uygulamaları çalıştırmak için "rootlamaya" gerek olmayıp buna bazen *[[yan yükleme]] de* denir. Android işletim sistemi bu özelliği iki şekilde destekler: Ayarlar menüsündeki "Bilinmeyen kaynaklar" seçeneği ve Android Hata Ayıklama Köprüsü. Bununla birlikte, AT&T de dahil olmak üzere bazı ABD'li operatörler, Play Store'da olmayan uygulamaların yüklenmesini bellenimde engellemiştir, Samsung Infuse 4G dahil olmak üzere çoğu cihaz bu kurala tabi değildir. AT&T, 2011'in ortasında çoğu cihazdaki kısıtlamayı kaldırmıştır.

2024 itibarıyla, Amazon Kindle Fire varsayılan olarak Google Play yerine Amazon Appstore'dan uygulama yüklemek üzere ayarlanmış durumdadır. Ancak diğer çoğu Android cihazı gibi, Kindle Fire bilinmeyen kaynaklardan uygulamaları yan yükleme izni veriyor ve Amazon Appstore'daki "kolay yükleyici" uygulaması bu işlemi kolaylaştırıyor. Android cihazlarının diğer üreticileri, Amazon'un yaptığı gibi, ileride farklı kaynaklara yönelebilir. Alternatif uygulamalara erişim bazen "root atma işlemi" gerektirebilir. Lakin "root atma" her zaman gerekli değildir.

## Avantajlar

"Rootlamanın" avantajları arasında cihazın görünümü, hissiyatı ve davranışı üzerinde tam kontrol yetkisi yer alır. Bir süper kullanıcının cihazın sistem dosyalarına erişimi olduğundan, işletim sisteminin tüm yönleri özelleştirilebilir. Tek gerçek sınırlama, kod yazmaya hakimiyettir. Root erişimli cihazların avantajları arasında aşağıdakiler yer almaktadır:

* Pil durum göstergesinin renginden ve türünden, cihaz önyüklenirken görünen önyükleme animasyonuna, durum çubuğuna, kontrol menüsüne, ekrandaki gezinme düğmelerine ve daha fazlasının görsel olarak değiştirilmesine olanak tanıyan tema desteği.
* Çekirdeğin tam kontrolü. (örneğin CPU ve GPU'da hız aşırtmaya izin vermesi)
* Uygulamaları tamamen yedekleme, geri yükleme, toplu düzenleme ve bazı telefonlara önceden yüklenmiş olarak gelen yazılımları kaldırma yeteneği de dahil olmak üzere mutlak uygulama kontrolü.
* Üçüncü taraf uygulamaların kullanımı yoluyla otomatikleştirilmiş sistem düzeyinde özel  işlemler.
* "Root" erişimine sahip bir cihazda ek kontrol veya "root erişimi" yönetimine olanak tanıyan yazılımları (Xposed, Magisk, SuperSU, BusyBox vb.) yükleme yeteneği.
* Bağımsız veya Android Hata Ayıklama Köprüsü aracılığıyla daha fazla Unix kabuk komutuna erişim imkanı.
* Genişletilmiş görev yönetimi yetenekleri 
** Tarayıcı veya kamera sunucusu gibi hatalı çalışan ya da yanıt vermeyen sistem görevlerini manuel olarak sonlandırma yeteneği.
* Kullanıcı verilerinin silinmesini içeren format işlemine gerek kalmadan uygulamaların sürümünü doğrudan düşürebilme yeteneği. Bir güncellemeyle uyumluluğun veya işlevselliğin bozulmasından sonra sürüm düşürmeye ihtiyaç duyulabilir.
* Ekran açıkken işletim sisteminin şarj akımını kısma işlevini kontrol etme yeteneği. Öte yandan pil ömrünü uzatmak için akımın azaltılması da istenebilir. API'ler üreticiye göre değişebilir. Örneğin, Samsung Galaxy cihazlarda bu, `/sys/devices/platform/sec-battery/power_supply/battery/siop_level` sistem dosyasına bir değer verilerek yapılır; burada 100, teknik olarak desteklenen en yüksek şarj oranını temsil eder.
* Pil verim kaybını azaltmak için şarj kapasitesini sınırlama yeteneği.

## Dezavantajlar
"Root atmanın" bazı dezavantajları şunlardır:

* Samsung ve Motorola gibi bazı markalarda "root" işlemi garantiyi geçersiz kılabilir.
* Yanlış kullanıldığında, root erişimi yazılım veya donanımda kararlılık sorunlarına neden olabilir. Sorunlar tamamen yazılım tabanlıysa, telefondaki root erişiminin kaldırılması bu sorunları çözebilir.
* Huawei  ve Verizon  tarafından satılan herhangi bir marka da dahil olmak üzere belirli cihazlar, cihazın işletim sistemi sürümünde (güvenlik güncellemeleri sebebiyle sürüm önemlidir) bir yetki yükseltme açığı bulunmadığı sürece kolayca rootlanma özelliğinden yoksundur.
* Android'in SafetyNet API'ı tetiklendiğinden bazı uygulamalar çalışmaz veya Play Store'da görünmez.

## İlgili kavramlar
"Rootlama", kullanıcının telefona ayrıcalıklı erişim elde etmesini sağlar. Kullanıcının yeni bir işletim sistemi (özel ürün yazılımı veya özel ROM) veya kurtarma görüntüsü yüklemesine izin vermez. Belirli bir operatöre kilitlenmiş bir telefonun başka bir operatörde kullanılmasına da izin vermez. Bunlara, aşağıdaki işlemler izin verir.

### Önyükleyici kilidi açma
Bootloader (önyükleyici) kilidinin açılması bazen cihazı "rootlamak" için atılan ilk adımdır. Ancak bu işlem, cihazı "rootlamakla" aynı şey değildir. Çoğu cihaz, kullanıcıların yeni bir önyükleme imajı yüklemesini engelleyen kilitli bir önyükleyiciyle birlikte gelir. Bu imaj, genellikle bir cihazı rootlarken veya özel bir ROM kullanırken yazılır. Önyükleyici, cihaz başlatıldığında çalışır ve işletim sisteminin yüklenmesinden sorumludur. Genellikle sistem bilgilerinin tahrif edilmediğini ve orijinal olduğunu doğrulamaktan sorumludur. Önyükleyicinin kilidinin açılması kullanıcıların özel ROM'lar yüklemesine olanak tanıdığından, insanlar hala bu işlemi gerçekleştirmektedir.

Bunu yapmanın ilk adımı genel olarak OEM kilit açmayı ayarlamak  ve ardından üreticiye özel talimatları takip etmektir. Tüm cihazların önyükleyici kilidi açılamayabilir. Çoğu LG V20 modeli ve Verizon tarafından satılan Google Pixel cihazlarını içeren bazılarının kilidi yalnızca bir yetki yükseltme açığı gerektiren bir işlemle açılabilir.

### SIM kilidi açma
SIM kilidini açma, belirli bir operatöre kilitlenmiş bir telefonun farklı bir operatörde kullanılmasına olanak tanır. Talimatlar cihaza ve operatöre göre değişir. Bu işlem, operatörden telefonun kilidini açmasını isteyerek veya çevrimiçi bir kilit açma kodu satın alarak yapılabilir.

## Yöntemler
Bazı "rootlama" yöntemleri, bir komut isteminin ve Android Hata Ayıklama Köprüsü (ADB olarak da bilinir) adı verilen bir geliştirme arayüzünün kullanımını içerirken diğer yöntemler cihazlardaki mevcut güvenlik açıklarını kullanabilir. Benzer cihazların bile çok sayıda değişikliğe sahip olması nedeniyle, bir cihaz için uygulanan "rootlama" yöntemleri farklı bir varyant için kullanıldığında cihazın "bricklenmesiyle" sonuçlanabilir.

"Sistemsiz root", temel dosya sisteminin değiştirilmediği bir "rootlama"çeşididir. "Sistemsiz root", bir cihazın sistem bölümünü değiştirmeden "root erişimi" elde etmek için çeşitli teknikler kullanılarak yapılır. Bazı root ile çalışan uygulamalar, belirli uygulamaları beyaz listeye ekleyerek veya etkilenen dosyalara erişimi engelleyerek, "rootlamanın" etkilerini ve sonuçlarını maskelemeye çalışan bir "gizleme" işlevi içerebilir. "Sistemsiz rootlama", sistem dosyalarındaki değişiklikleri izleyerek çalışan ve Google Pay gibi uygulamalar tarafından cihaza "rootlama" gibi bir müdahale yapılıp yapılmadığını tespit etmek için kullanılan bir Android özelliği olan SafetyNet'in yazılım tabanlı sürümünü tetiklememe avantajına sahiptir. Ancak donanım destekli SafetyNet sürümleri, "sistemsiz rootlama" tarafından da tetiklenebileceği gibi, Google Mobil Hizmetleri (GMS) olmadan gönderilen "rootlanmamış" cihazlarda da tetiklenebilir.

Bir güvenlik açığı yoluyla "soft rootlama" ile bir `[[Su (Unix)|su]]` yürütülebilir dosyasının yazılmasıyla "hard-rooting" arasındaki ayrım, güvenlik açıklarına ve üreticiye göre değişir. "Yazılımla rootlama" için, bir cihazın yetki yükseltmeye veya yürütülebilir dosyaların değiştirilmesine karşı savunmasız olması gerekir. "Hard-rootlama", çoğu cihaz için üretici tarafından desteklenir ve genellikle yalnızca üreticinin izin verdiği cihazlar için kullanılır. Bir telefon yazılımla "rootlanabiliyorsa", doğal olarak kötü amaçlı yazılımlara karşı da savunmasızdır.

## Kaynakça