13 Temmuz 2014 Pazar

Android Cihaz Rootlamak

Android telefonlara birkaç farklı şekilde root (yetkili kullanıcı) hakları verebiliriz. Android cihazlarda root olmak ise unix temelli işletim sistemlerindeki süper kullanıcı ile aynı şey.

Telefonu farklı modlarda başlatabilmek için güç, ses kısma-açma gibi tuşlara farklı kombinasyonlarda basmamız gerekli. Bu kombinasyonlar telefonun marka-modeline göre değişebilir ve elimizi sürekli şöyle miydi, böyle miydi düşüncesiyle basılı tutmak biraz zor :). Bunun yerine "android-tools-adb" ve "android-tools-fastboot" paketlerini kurarak telefonu bilgisayardan yönetebiliriz.

Android cihazlara root hakları vermek marka-modele göre değişebilir. Bu konudaki araştırmaları telefonun marka-modeline göre yapmak daha iyi olabilir. Ben burada adb ile kurulumdan bahsedeceğim için modele göre pek değişeceğini sanmıyorum ancak söylemek gerekirse Nexus-5 cihaz üzerinde çalışıyorum.

Usb kabloyu bilgisayara usb debug modda ve geliştirici hakları ile bağlamalıyız. Geliştirici yetkisi root ile aynı şey değil. Bilgisayardan telefona gelecek dosyaları kabul ettiğimizi belirtmek gibi birkaç işlem için gerekli. Geliştirici haklarına "Ayarlar->Telefon Hakkında->" yolunu izleyip "İnşa Numarası"na 5-6 kere basarak elde edilir. Debug mod için ise "Ayarlar->Geliştirici Seçenekleri"nde usb debug modunu aktif etmeliyiz.

Adb ise bilgisayardan telefonu yönetmek için gerekli. Bilgisayarda "adb devices" yazarak makineye bağlı cihazları görebiliriz. "adb shell" ile telefona bağlanabiliriz. Makineye birkaç telefon bağlı ise hangi cihaza erişeceğimizi belirtmeliyiz. "adb shell" ile telefona eriştikten sonra bash komutları ile telefonu yönetebiliriz ancak kullanabildiğimiz komutlar çok kısıtlı. Komut çeşidini artırmak için telefona busybox'ı kurabiliriz (busybox kurulumu root haklarını gerektiriyor). adb pull ile dosyaları bilgisayara çekebilir, adb push ile telefondan bilgisayara dosya aktarabiliriz. Örneğin telefondaki data dizininin içerisini root hakları olmadan listeyemeyiz, adb ile telefona bağlıyken su yazarak komut satırında root yetkilerini alabiliriz. Adb'nin tam belgesine buradan ulaşabilirsiniz.

Fastboot ise telefonu güncellemek, farklı recovery .img dosyaları yüklemek, bootloaderı kiltleyip açmak için kullanılabilir. Fastbooot hakkında daha fazlası için buraya bakabilirsiniz.

Cwm Yükleme

Telefonda yedekleme yapma, bilgileri sıfırlama, kurulum yapma gibi işlemler için birkaç farklı araç var. Bunlardan biri Clock Work Recovery Mod (cwm). Cwm'yi kurmak için buradan bilgisayara .img dosyasını indirebiliriz. adb reboot bootloader ile telefonu fastboot modunda açarak fastboot flash recovery cwm.img şeklinde recovery modu kurmuş oluruz. Şuan cihaz fastboot modda olduğu için ses kısma tuşu ile recovery moda geçerek telefonu yeniden başlatmalıyız. Böylece cwm'yi recovery mod aracı olarak yüklemiş olduk.

Root Hakları Verme

Buradan superSu.zip dosyasını telefona kopyalayıp, telefonu adb reboot recovery şeklinde recovery modda açarak install from zip'i seçmeliyiz. .zip'i kopyaladığımız konuma gidip dosyayı seçersek kurulum tamamlanmış olacak ve aşağıdakine benzer bir çıktı görülecek. Eğer .zip'i sdcarda kopyaladıysak sdcard'ı seçtikten sonra o/, legacy/, obb/ dizinlerinden o/ olan dizini seçmeliyiz. Bu şekilde kurulum tamamlanmış oldu.


İndirdiğimiz .zip dosyasını incelersek içinde SuperSu.apk'sı dışında betikler var, bu betiklerle gereken ayarları yapıp, .apk'yı yüklemeyi gerçekleştiriyor.

Root yetkisi verdiğimizi anlamak için SuperSu uygulaması yüklenmiş mi diye bakmak yeterlidir. Her zaman Supersu .apk'sının sistemde var olması rootlamanın başarılı bir şekilde tamanlanmış olduğu anlamına gelmiyor. Bu yüzden daha iyi bir yöntem ise adb ile telefona bağlıyken su yazınca root hakları veriliyorsa işlem sorunsuz tamamlanmış demektir.

2 yorum:

  1. odine mode telefon açıldı fakat donwloading... de kaldı.

    bilgisayda aşağıda ekranda kalıyor.

    C:\Users\kullan>fastboot flash recovery cvm.img
    < waiting for device >

    YanıtlaSil
    Yanıtlar
    1. Eğer konsolda < waitinng forr device > çıktısı alıyorsan, cihazı tanıtamamışsındır.
      "fastboot devices" yazdığında cihazını görebilmen gerekir.

      Bu linkten faydalanabilirsin:
      http://wiki.cyanogenmod.org/w/Template:Recovery_install_fastboot

      Sil