W kilka pytań na tej stronie widzę odpowiedzi informując nas, aby wykonać adb shell
albo adb logcat
i tak dalej.
Teraz nie jestem całkowicie nieświadomym użytkownikiem, więc pobrałem i zainstalowałem Termux i mam monit powłoki, kiedy mogę wpisywać polecenia, ale - skąd to się adb
bierze? Czy mogę go pobrać jako aplikację? Wygląda na to, że nie jest instalowany domyślnie (w systemie Redmi 3S, Android 6.0.1).
Wygląda na to, że jest to jakaś winda uprawnień. Czy jak su
? Jeśli nie, to czym się różni?
Odpowiedzi:
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 nazwiefastboot
, 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 nazwieshell
(UID2000
). 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, żeadb
to samosu
, 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 jaklogcat
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ż UID2000
.źródło
Android Debugging Bridge (ADB) .
Wysyła polecenia przez USB lub Wi-Fi do urządzenia z systemem Android. Zwykle jest instalowany na komputerze podłączonym do urządzenia. Klient ADB można również uruchomić na samym urządzeniu, jednak pomysł polega na zdalnym debugowaniu urządzenia.
Jest częścią zestawu do tworzenia oprogramowania dla systemu Android
Następnie można użyć menedżera SDK, aby pobrać narzędzia platformy.
Jest tu również bardziej bezpośredni link na wypadek, gdybyś był zainteresowany narzędziami platformy
Dokumentacja ADB
źródło