2012-04-05 55 views
8

Możliwe duplikaty: what does the su mean: process = Runtime.getRuntime().exec("su");Jak działa su na Androidzie? I jakie są warunki wstępne, aby działał? Co to jest rootowanie na Androida?

Jestem zmęczony próbując różnych rzeczy, ale wciąż nie powiodło mi się zrozumienie, kiedy będzie działać. Co to jest rootowanie urządzenia w systemie Android? Ktoś proszę, pomóż mi z tym.

Odpowiedziałem na następujące pytanie. Rozwiązanie, które napisałem tam, przetestowałem i również zadziałało.

Adding full permission for a image file in android.

Oto moje pytanie:

Próbowałem obserwuję.

Skopiowane su.

zainstalowana SuperUser.apk,

Z programu zadzwoniłem su, a następnie za pomocą nowo utworzonego procesu Przeprowadziłem wymaganych operacji.

To ma 2 wyniki.

1) Gdy urządzenie jest zrootowane (jak w przypadku wykonywania opcji Permanent root w z4root), działa, zmienia uprawnienia do pliku systemowego.

2) Gdy urządzenie nie jest zrootowane, nie działa.

Wyjaśnij, co jeszcze robi z4root, co sprawia, że ​​zadanie jest możliwe. Wyjaśnij w skrócie.

Daj mi znać, jeśli moje pytanie nie jest jasne. Dzięki za tonę ..

Odpowiedz

23

Co z4root (lub jakikolwiek inny program rootujący) uruchamia exploit, aby zmienić swój identyfikator użytkownika (id użytkownika) na 0 (root).Możesz myśleć o tym, jako o hakowaniu i oszukiwaniu jądra, aby sądzić, że rzeczywiście ma prawo do rootowania (wtedy z4root byłby wirusem, który mógłby zrobić wszystko przy pomocy twojego telefonu, od instalowania keyloggerów do ich zamurowywania). Oczywiście, jeśli można oszukać jądro w taki sposób, aby dać ci dostęp do roota, jest to luka w zabezpieczeniach (każda aplikacja może to zrobić i wykonywać złośliwe rzeczy) i zwykle zostaje naprawiona w przyszłych aktualizacjach jądra (to właśnie dlatego z4root może nie być jeśli uaktualnisz swoje oprogramowanie sprzętowe).

Kiedy z4root ustawił swój UID 0 to sposób następujący: przełączany w tryb /system partycję jako odczytu (domyślnie jest to tylko do odczytu), kopie ponad binarny su, Superuser.apk i Busybox i następnie przełączany w tryb /system powrotem jako tylko do odczytu .

Więc w jaki sposób su binary daje ci dostęp do roota bez robienia "włamania", gdy normalne aplikacje mają taki sam identyfikator jak macierzysty proces? Dzieje się tak dlatego, że su binary ma ustawioną flagę set-uid i zawsze jest uruchamiane jako uid 0 (root).

Teraz, jeśli skopiowałeś su binary do /system/bin, musisz mieć dostęp do roota, co oznacza, że ​​zapomniałeś zmienić właściciela/uprawnienia (chown root:root /system/bin/su; chmod 6755 /system/bin/su), ale nadal potrzebujesz uprawnień administratora, aby to zrobić.

+1

Dzięki .. Ale jakaś wskazówka jak zmienić UID na 0 programowo ..? –

+1

@ happy2Help Nie możesz zmienić nazwy użytkownika, chyba że jesteś rootem (numer 0). Tylko root może zmieniać identyfikator użytkownika, w przeciwnym razie każdy użytkownik mógłby uzyskać podwyższone przywileje. Odpowiedź: wywołaj plik wykonywalny z ustawioną flagą setuid (domyślnie w większości systemów Linux tylko su i sudo mają, ale możesz tworzyć swoje - będziesz potrzebować uprawnień roota, aby chun był rootem). – matix2267

+1

Myślę, że trzeci akapit i poniżej są nieprawidłowe. Su na Androida nie używa flagi setuid, ponieważ Android nie respektuje flagi. Zamiast tego su z Androidem kontaktuje się z daemonsu daemona, który jest bezpośrednio rozwidlony przez init. Tak więc program uruchamiany z użyciem su nie jest procesem podrzędnym su, ale procesem podrzędnym daemonsu. –

0

Po rootowaniu urządzenia można nadpisać lub zmodyfikować obraz systemu operacyjnego w pamięci ROM, aby uzyskać podwyższone uprawnienia. Instalowanie aplikacji w trybie użytkownika nie może zapewnić eskalacji uprawnień w dowolnej wersji systemu Linux w dowolnym miejscu. Jeśli jakikolwiek użytkownik mógłby zostać rootem przez "kopiowanie su", nie byłoby czegoś takiego jak bezpieczeństwo.

+0

Czym dokładnie są różnice w obrazie systemu operacyjnego, co staram się zrozumieć .. Dzięki za odpowiedź –

+0

"Instalowanie aplikacji ... nie może dać ci eskalacji uprawnień" Zgadzam się, że nie powinno, ale to jest ogólnie, jak działają metody rootowania urządzeń. Wykorzystywane jest luka w zabezpieczeniach w celu eskalacji bieżącego procesu użytkownika innego niż root do roota, następnie wprowadzana jest trwała zmiana, aby umożliwić późniejszą łatwiejszą eskalację uprawnień (np. Kopiowanie su do systemu plików "system" zwykle tylko do odczytu). – user2957811

0

Nie jestem pewien, o co prosisz, ale wydaje się to proste. Próbujesz zostać "superużytkownikiem" lub robić rzeczy z prawami administratora. Możesz to zrobić tylko wtedy, gdy masz do tego faktyczne uprawnienia, dane dla konta użytkownika aktualnie uruchomionego na twoim urządzeniu. Zwykle nie masz tego prawa.

Należy pamiętać, że „superuser” jest taka sama jak „root”

  • Jeśli „root” urządzenie to znaczy dać sobie prawo stać superuser. Możesz robić rzeczy, które wymagają bycia superużytkownikiem: "su" jest jednym z tych poleceń, jak mówi "zaloguj się jako superużytkownik". Oczywiście potrzebujesz uprawnień administratora, aby zostać tym użytkownikiem.
  • Jeśli nie masz zrootowanego urządzenia, nie masz uprawnień do robienia tego, co może zrobić administrator. Dlatego nie zadzwonię pod numer su.

Możesz więc robić tylko rzeczy o numerach root, jeśli masz rooted urządzenie.

+1

"Więc możesz robić tylko root'a, jeśli zrootowałeś swoje urządzenie" Jaka jest różnica między tym, co przed i po krojem urządzenia, staram się zrozumieć. Wewnątrz OS jest coś, co sprawi, że będzie działać? albo co to jest? –

+0

Spójrz na to w ten sposób: jesteś "zalogowany" na swoim urządzeniu jako użytkownik, tak jak na każdym innym komputerze. Ten użytkownik nie ma uprawnień do robienia superuserów. Wszystko, co uruchamiasz (aplikacje, itp.) Jest uruchamiane z Twoimi prawami. Wprowadzona przez Ciebie zmiana polega na tym, że pozwalasz przypadkowym użytkownikom (np. Tobie) zostać rootem. Spójrz na to w ten sposób: zwykle jest tak, jakbyś logował się do komputera bibliotecznego: nie jesteś administratorem. "rootowanie" oznaczałoby "hakowanie" komputera, aby domyślny użytkownik został administratorem. – Nanne

Powiązane problemy