O adb
Krótko mówiąc, adb
(Android Debug Bridge) to narzędzie przeznaczone do zainstalowania na komputerze, aby umożliwić uzyskanie powłoki na telefonie podłączonym kablem USB lub w tej samej sieci Wi-Fi.
Na niektórych urządzeniach z Androidem Lollipop (5.1.1) i prawdopodobnie niższymi wersjami systemu operacyjnego można było oszukać urządzenie, aby łączyło się ze sobą, ponieważ adb
klient również był dołączony do telefonu. Nie jest to już możliwe, ponieważ począwszy od Androida Marshmallow (6.0), Google usunął adb
pliki binarne z telefonów, aby zmniejszyć użyteczną powierzchnię ataku.
Możliwe jest jednak ręczne przywrócenie adb
klienta do telefonu bez konieczności samodzielnego kompilowania pliku binarnego. Zobacz wiki tagu adb, aby uzyskać więcej informacji na ten temat, a także na temat instalacji na komputerze i ogólnego rozwiązywania problemów.
Gdzie to zdobyć
Jakiś czas temu, aby uzyskać adb
i inne narzędzie, o nazwie fastboot
, trzeba było pobrać pełny zestaw SDK Androida z Google, jeśli chcieli oficjalnej paczki. Obecnie, jak mówi XDA , dostępny jest mały, oficjalny pakiet . Zawiera pliki binarne dla najpopularniejszych systemów operacyjnych.
Jak to działa
adb
Klient, zainstalowany na komputerze sprawia, że połączenia do podłączonego telefonu lub w inny sposób wykrywalny, za pomocą serwera wewnętrznego. Następnie użytkownik będzie mógł wysłać do telefonu różne polecenia, których będzie słuchał adbd
demon znajdujący się w telefonie.
Podczas korzystania adb
podszywasz się pod użytkownika o nazwie shell
(UID 2000
). Ten użytkownik jest wyjątkowy, ponieważ może przyznawać uprawnienia aplikacji i uzyskiwać dostęp do większej ilości informacji niż zwykły użytkownik. Ten fakt nie oznacza jednak, że adb
to samo su
, ponieważ ta ostatnia pozwala na podszywanie się pod dowolnego użytkownika.
Więcej informacji na temat adb
jego działania można uzyskać, przeglądając oficjalną dokumentację .
Wydawanie poleceń z telefonu
Większość poleceń, które można wydać za pośrednictwem, to adb
zwykle narzędzia fabrycznie zainstalowane w telefonie.
Aby uzyskać do nich dostęp, musisz zainstalować w telefonie aplikację emulującą terminal (zwróć uwagę, że Termux jest wyjątkowy, ponieważ określa swój własny PATH
, ignorując w ten sposób binaria systemowe). Umożliwi to na przykład wydawanie poleceń, takich jak logcat
bezpośrednio na urządzeniu mobilnym. Pamiętaj jednak, aby pominąć adb
prefiks.
Warto wspomnieć, że jeśli nie masz uprawnień roota, zakres poleceń, które będziesz mógł wykonać, a informacje, do których będziesz mieć dostęp, będą znacznie mniejsze niż w przypadku używania adb
, ponieważ UID, który je wywołuje, będzie sama aplikacja, a aplikacje mają mniej uprawnień niż UID 2000
.