piątek, 14 czerwca 2013

Uzyskiwanie uprawnień Root'a w aplikacji.

ZRootowanie telefonu przynosi wiele korzyści jak i zagrożeń. Dzięki uprawnieniom SuperUser'a możemy modyfikować piki systemowe (których uprawnienia są domyślnie ustawione na Tylko do odczytu) modyfikować taktowanie CPU , korzystać z Firewall'a itp. Root rozszerza nam możliwości telefonu.

Wiele aplikacji z niego korzysta. Uprawnienia SU nie są zadeklarowane tj np uprawnienia do odczytu Kontaktów, Sms'ów , karty SD itp o których informujemy plik AndroidManifest.xml w trakcie tworzenia aplikacji. Jednak aby je otrzymać wystarczy jedna linijka kody przy Starcie Aktywności (onCreate) bądź odpaleniu/Aktualizacji widgetu (onEnabled,onUpdate)


Runtime.getRuntime().exec("su");

Całą filozofia. :) Oczywiście edytor zasugeruje nam żebyśmy wrzucili kod w try/catch i otrzymamy takie coś


try 
{
 Runtime.getRuntime().exec("su");
} 
catch (IOException e) 
{
 //Nie znalazł polecenia SU
}

Dzieje się tak ponieważ a androidzie większość rzeczy wykonujemy przez wpisanie polecenia (zupełnie tak jak byśmy operowali terminalem). W kodzie tak naprawdę wywołujemy uplecenie su dzięki czemu do momentu zakończeni sesji (która kończy się zamknięciem aplikacji) nasz pakiet (aplikacja) ma możliwości roota.

Brak komentarzy:

Prześlij komentarz