Czym dokładnie jest superuser.apk i su?

Dużo przeczytałem o rootowaniu urządzeń z Androidem. Naprawdę chcę wiedzieć dokładnie, co się dzieje na każdym kroku, zanim zdecyduję się

Nie mam pojęcia, skąd pochodzą pliki superuser.apk i su. Nie wygląda na to, że są to oficjalne pliki Google, ale raczej pliki utworzone przez (losową) osobę. To powiedziawszy, jak bezpieczne są te pliki?

Na podstawie badań mam ogólne pojęcie o ich przeznaczeniu . Zastanawiałem się, czy ktoś wie, czym są te pliki (pliki wykonywalne? Skrypty?), Co zawierają i jak ogólnie działają.

Dzięki!

Komentarze

Odpowiedź

su (skrót od Switch User) to binarny plik wykonywalny. Jest używany przez Androida i inne systemy oparte na * nix, aby umożliwić proces zmiany konta użytkownika, z którym jest powiązany. Powodem, dla którego jest to ważne z punktu widzenia rootowania jest to, że su bez żadnych innych parametrów przełączy się na użytkownika root, co oznacza, że procesy wymagające uprawnień roota do swoich funkcji muszą wywołać su (ponieważ domyślnie nie są uruchamiane przez roota).

Superuser to aplikacja na Androida (.apk to pakiet aplikacji na Androida). Działa jako rodzaj „gatekeeper” do pliku binarnego su. Aplikacje, które próbują wywołać su, będą zmuszone do przekierowania przez Superuser, który następnie wyświetli monit użytkownika, jeśli jest to nieznana lub nowa aplikacja. Użytkownik może następnie zatwierdzić lub odmówić dostępu do su i opcjonalnie poprosić superużytkownika o zapamiętanie jego decyzji, aby mógł automatycznie zastosować ją w kolejnych wywołania przez tę aplikację. W ten sposób jedyne aplikacje, którym przyznano uprawnienia roota, to te wybrane przez użytkownika.

Źródłem obu aplikacje są dostępne na Github i mogą być sprawdzane / audytowane przez każdego, kto chce je obejrzeć (Superuser tutaj , su tutaj ).

Więcej informacji – a także dzienniki zmian – można znaleźć w witrynie Superuser .

Inne podobne pytania dla entuzjastów Androida:

Komentarze

  • Naprawdę doceniam szczegółową odpowiedź i linki! Dzięki!
  • Czy są jakieś alternatywy / odpowiedniki tych plików na potrzeby rootowania Androida?
  • @kaspnord: Nie, su jest ten sam plik używany w innych systemach operacyjnych linux / unix i nie ma ' żadnych alternatyw dla tego, ale może być dla superuser.apk. Dlaczego potrzebujesz alternatywy?
  • Ja ' jestem po prostu ciekawy, skoro te pliki, chociaż pobłogosławione przez społeczność open source, nie ' nie wydaje się mieć jakiegokolwiek standardu (tj. nie jest oficjalnie Google). To prowadzi mnie do wniosku, że inne osoby mogą tworzyć inne warianty tych samych plików. Osobiście chcę wiedzieć dokładnie, co ' używam i instaluję w swoim urządzeniu, zamiast polegać na rozwiązaniach innych osób, w przypadku których nie mogę ze 100% pewnością wiedzieć, co zawierają pliki.

Odpowiedź

kod źródłowy dla Superuser jest dostępny na github, głównym autorem Superuser są Adam Shanks ( ChainsDD ) i Koushik Dutta ( koush , także autor Clockwork Recovery).

Koushik Dutta wyjaśnił na swoim blogu , jak działa Superuser.apk ; zwróć uwagę, że post pochodzi z najwcześniejszego wcielenia aplikacji Superuser, od tego czasu wiele się zmieniło i niektóre z tego, co tam napisano, nie są już poprawne dla współczesnej implementacji superużytkownika / su, ale podstawy powinny pozostać takie same.

Zarówno su, jak i Superuser można z pewnością zastąpić alternatywami, ale tak naprawdę nie zrobiłoby to zbyt wiele, ponieważ funkcja używana przez su (tj. wywołania systemowe exec () i setuid ()) jest dostępna dla wszystkich plików wykonywalnych, biorąc pod uwagę, że plik wykonywalny miał odpowiednie bity uprawnień (tzn. bit setuid jest ustawiony na root). W istocie su jest bardzo prostym programem, po prostu tworzy proces jako inny użytkownik, a prawdziwą kontrolę bezpieczeństwa przeprowadza jądro.

Tak więc, o ile otrzymujesz oficjalną, niezmodyfikowaną aplikację su i superużytkownika i zostaną one poprawnie zainstalowane z odpowiednim zezwoleniem, nie masz się czym martwić, są one open source i bezpieczne, możesz samodzielnie zweryfikować kod źródłowy na github. Jednak z pewnością możliwe jest uzyskanie pliku binarnego superużytkownika / su z trojanem, więc upewnij się, że wszędzie tam, gdzie dostajesz plik binarny superuser / su, jest godny zaufania (lub sam skompiluj su / superuser, jeśli jesteś naprawdę paranoikiem).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *