Android Debug Bridge

Android Debug Bridge ( , kısaltma: ADB), Android tabanlı cihazlarda hata ayıklamak için kullanılan bir programlama aracıdır. Android cihazındaki arka plan programı, ana bilgisayardaki sunucuya USB veya TCP üzerinden son kullanıcı tarafından kullanılan istemciye bağlanan TCP üzerinden bağlanır. 2007'den beri Google tarafından Apache Lisansı altında açık kaynaklı yazılım olarak sunulan özellikler arasında bir kabuk ve yedekleme yapma imkanı bulunmaktadır. adb yazılımı; Windows, Linux ve macOS ile uyumludur. Botnet'ler ve RSA kimlik doğrulaması ve cihaz beyaz listeye alma gibi azaltıcı etkenlerin geliştirildiği diğer kötü amaçlı yazılımlar tarafından kötüye kullanılmıştır.

Özellikler
adb'nin özellikleri arasında ana bilgisayardan dosya kopyalama, uygulamaları yükleme, logcat çıktısını görüntüleme, bir Unix shell'e erişme ve Qualcomm EDL moduna yeniden başlatma sayılabilir. Örneğin, Android uygulamaları bir dosyaya backup komutuyla kaydedilebilir. Ayrıca Java Debug Wire Protocol için destek içerir.

Bazı grafik arayüzler kullanıma sunuldu. Android Studio'daki görsel Android Device Monitor, bir Android cihazından bilgi almak için kullanılabilir.

Geliştirme geçmişi
Android Yazılım Geliştirme Kiti (SDK) ilk olarak 2007'de piyasaya sürüldü. Google, 2017'den beri adb'yi Android SDK'dan ayrı olarak indirmeyi mümkün kıldı.

2015 yılında Microsoft, adb istemcisine bağlanabilen bir Android öykünücüsü yayınladı. 2016'da Android Studio 2.0 için uygulamaları yüklemek ve dosyaları adb aracılığıyla göndermek için 5 kat performans iyileştirmesi yapıldı. Android Things'in daha kolay kullanımı için 2017 yılında manuel adb komutları etrafında bir sarmalayıcı yapılmıştır. 2020'de Android 11 için Google, artımlı yüklemeler ekledi. 2020'de Wi-Fi adb, macOS için Android Studio'ya entegre edildi. Android 12 için 2021'de adb backup komutu, uygulamalardan kullanıcı verilerinin yedeklenmesinin uygulama başına manifesto yapılandırması kullanılarak etkinleştirilmesi için sınırlandırıldı. Fuchsia, adb ile geriye dönük uyumlu olacaktır. Fx ve ffx ile değiştirilecektir.

Kurulum
Ana bilgisayar
Windows için Android SDK, ayıklanıp yüklenebilen adb.exe ikili dosyasını içerir. How-To-Geek, ikili dosyaları içeren klasörü PATH ortam değişkenine eklemenizi önerir.

Ubuntu'da adb, android-tools-adb paketi ile kurulabilir. Debian için, aracı root izinleri olmadan çalıştırmayı mümkün kılan udev kurallarını yükleyen adb paketinin yanına android-sdk-platform-tools-common paketinin de yüklenmesi tavsiye edilmiştir. macOS ve diğer Linux dağıtımları için platform araçları indirilebilir ve PATH değişkeni bashrc içinde değiştirilebilir.

Android cihazı
Android 4.2.2 veya sonraki sürümlerde (API düzeyi 17), kullanıcının kabul etmesi gereken bir RSA parmak izi içeren bir iletişim kutusu gösterilir. Bu, aygıt kullanıcısının izni olmadan hata ayıklama mekanizmasından yararlanan bilgisayarlara karşı koruma sağlar. Android 4.2'den başlayarak, geliştirici ayarları varsayılan olarak gizlidir. Hakkında menüsünde yapı numarasına yedi kez basmak, bunları kullanıcıya görünür hale getirir. Bundan sonra, USB hata ayıklama seçeneği etkinleştirilebilir. Bazı Android telefonlarında bunu etkinleştirmek için farklı prosedürleri vardır. Örneğin, Huawei, adb'nin etkinleştirilebilmesi için bir pin kodunun girilmesini gerektirir.

Bir Android cihazın dokunmatik ekranı bozulursa, USB On-The-Go kullanarak cihaza bir fare bağlamak ve USB hata ayıklamasını etkinleştirmek mümkün olabilir.

Mimari
Adb protokolü, USB üzerinden veya Wi-Fi üzerinden TCP üzerinden taşınabilir. İstemci-sunucu mimarisini kullanır. Kullanılan iki farklı protokol vardır. Birincisi istemci ile sunucu arasında, ikincisi ise sunucu ile arka plan programı arasındadır. adb arka plan programı C'de uygulanır ve Android kullanıcı alanında bulunur. Daemon, Android USB çerçevesi, UsbDeviceManager ve UsbDebuggingManager tarafından kolaylaştırılır. 2017 yılında, yerleşik modemi devralmak için adb'den yararlanan bir güvenlik açığı ortaya çıktı. Bazı geçici çözümler mevcut olmasına rağmen saldırı, adb'nin önceden etkinleştirilmesini ve yetkilendirilmesini gerektiriyordu.

Miner, Ares, IPStorm, Fbot ve Trinity gibi çeşitli kötü amaçlı yazılım aileleri, adb arayüzünün herkese açık olup olmadığı konusunda interneti taradı ve bu cihazlara kötü amaçlı yazılım yükledi.

adb, güvenli modda önyükleme yaparak ve adb uninstall [PaketAdı] komutunu çalıştırarak kötü amaçlı yazılımları ve önyüklü gelen uygulamaları kaldırmak için de kullanılabilir.

Ayrıca bakınız
Android kurtarma modu
Fastboot

Kaynakça
Dış bağlantılar
Android Debug Bridge - Android Developers
ADB and Fastboot guide , LineageOS
Android Debug Bridge , Arch Linux wiki
, Gentoo Linux wiki
, Gentoo Linux wiki