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ż adbklient również był dołączony do telefonu. Nie jest to już możliwe, ponieważ począwszy od Androida Marshmallow (6.0), Google usunął adbpliki binarne z telefonów, aby zmniejszyć użyteczną powierzchnię ataku.
Możliwe jest jednak ręczne przywrócenie adbklienta 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ć adbi 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
adbKlient, 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ł adbddemon znajdujący się w telefonie.
Podczas korzystania adbpodszywasz 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 adbto samo su, ponieważ ta ostatnia pozwala na podszywanie się pod dowolnego użytkownika.
Więcej informacji na temat adbjego 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 adbzwykle 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 logcatbezpośrednio na urządzeniu mobilnym. Pamiętaj jednak, aby pominąć adbprefiks.
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.