Android Centrala

Što zapravo znači rootanje vašeg telefona?

protection click fraud

Volimo primati vaša pitanja. Uvijek je dobro kada možemo pomoći jedni drugima, ai sami ponešto naučimo dok tražimo odgovore. Iako ne možemo naći vremena da odgovorimo na sva, ponekad se određeno pitanje pojavi dovoljno da zaslužuje detaljan odgovor.

"Što znači korijen znači?" jedno je od tih pitanja. Koncept je možda jednostavan za neke od nas, ali za mnoge ljude koji nisu proveli vrijeme petljajući okolo s Androidom ili bilo kojim drugim operativnim sustavom koji se temelji na dopuštenjima, to je nešto o čemu se mogu postaviti pitanja. Pokušat ću na sve odgovoriti najbolje što mogu.

Dozvole

dopuštenja za datoteke

Prije nego što definiramo root, važno je razumjeti zašto postoji i kako funkcionira. To je zato što Android koristi dopuštenja (točnije dopuštenja temeljena na Linuxu) u strukturi datoteka. Svaka datoteka, svaka mapa i svaka particija ima skup dopuštenja. Ove dozvole odlučuju tko može čitati datoteku (gledati ili pristupiti sadržaju bez mijenjanja), pisati u datoteku (moći promijeniti sadržaj te datoteke ili stvoriti novu datoteku unutar mape ili particije) i izvršiti datoteku (pokrenuti datoteku ako je vrsta koja se može izvoditi, poput aplikacija). To se radi na temelju korisnika i dopuštenja — određeni korisnici imaju pristup, dok je korisnicima koji nemaju ispravna dopuštenja pristup blokiran.

Kada prvi put postavite svoj telefon i uključite ga prvi put, dodijeljen vam je korisnički ID. Ako se drugi korisnik prijavi putem Googlea, dodjeljuje mu se a drugačiji ID korisnika. Kada je aplikacija instalirana na vašem telefonu, također joj se dodjeljuje vlastiti korisnički ID. Sustav je sam po sebi korisnik, a drugi procesi koji se trebaju izvoditi na vašem telefonu mogu imati vlastiti korisnički ID. Sve što može učiniti bilo koju datoteku na vašem Androidu je korisnik.

Sustav korisnika i dozvola je način na koji Android prati tko može što raditi.

Recimo da instalirate aplikaciju za razmjenu poruka. Dodjeljuje mu se korisnički ID kada ga instalirate. Također dobiva mjesto na vašoj vlastitoj podatkovnoj particiji kojoj samo on ima pristup. Imate dopuštenja za pokretanje aplikacije, a kada se aplikacija pokrene, ima dopuštenje za pristup vlastitoj mapi podataka i datotekama. Aplikacija također može zatražiti dopuštenje za pristup stvarima kao što su vaš adresar ili SD kartica ili fototeka. Ako odgovorite da na ove zahtjeve (ili ako se slažete s dopuštenjima na starijim verzijama Androida), dodijeljen je korisnički ID aplikacije dopuštenje za podatkovne datoteke tih stvari, što znači da može pogledati mapu s podacima i njezin sadržaj te ih eventualno promijeniti ili dodati nove datoteke. Aplikacija ne može pristupiti nijednoj podatkovnoj datoteci za koju nema dopuštenje za "pregled". To znači (u našem primjeru) da ne može raditi stvari poput pregleda baze podataka postavki ili pristupa mapi podataka druge aplikacije. Za to se često koristi izraz sandbox — aplikacije su u sandboxu i mogu igrati samo u sandboxu u kojem imaju dopuštenje.

Za datoteke koje su programi i mogu se izvoditi (poput aplikacija), primjenjuje se isti model dopuštenja. Vaš korisnički ID ima dopuštenje za pokretanje aplikacija koje ste instalirali dok ste prijavljeni. Korisnik sustava ima dopuštenje za njihovo pokretanje, a drugi korisnici na razini sustava mogu imati pristup aplikacijama ili određenim procesima koje aplikacije koriste. Druge aplikacije ne mogu pokrenuti aplikacije za čije pokretanje nemaju dopuštenje. Ako ste dodali sekundarnog korisnika, on neće imati pristup vašim aplikacijama ili datotekama i obrnuto. Na vašem telefonu postoje datoteke, mape i aplikacije koje su vaš korisnički ID ne radi imati dopuštenje vidjeti, mijenjati ili pokretati. Obično ti dijelovi Androida zahtijevaju dopuštenja na razini sustava (ID korisnika sustava) da bi mogli učiniti bilo što s njima, a vi niste korisnik sustava ili korisnik koji ima dopuštenja na razini sustava.

Promjena dopuštenja

SuperSU

Iako je tehnički moguće promijeniti način na koji se vaš telefon pokreće i datoteke koje koristi za pokretanje pokrenutog sustava i dodijeliti vašem korisničkom ID-u povišena dopuštenja, to nije ni sigurno ni praktično. Ali Android (i većina sustava temeljenih na Unixu ili Linuxu) imaju takozvanog root korisnika i podržavaju SubstituteUser binarno (mislite na binarno kao malu aplikaciju) za promjenu korisničkih ID-ova. Oni se koriste za administraciju sustava u jezgri razini.

Zato što ljudi koji su napravili vaš telefon ne žele da imate jednostavan pristup ID-u root korisnika — a nisu svi razlozi sebičan jer također štiti vas i vaše privatne podatke — binarna datoteka SubstituteUser nije uključena u većinu verzija Android. Bez SubstituteUser ne možemo promijeniti naš korisnički ID. Usput, većina stvari na razini sustava u Androidu ima slične jednostavne nazive. Osnovna sigurnost (datoteke u bootloaderu i/ili sama jezgra) također su izgrađene na način da vas spriječe da mijenjate korisničke ID-ove kao dio SELinuxa (Ssigurnost-Enhanced Linux — rekao sam vam da su imena laka) kernel modul. Neki telefoni (pada mi na pamet Samsungov Knox) ​​imaju dodatne zaštite, a gotovo sve tvrtke koje proizvode Androide zahtijevaju da, kako bi se izvršile promjene, bootloader mora biti otključan tako da se te datoteke mogu mijenjati i omogućuju vam promjenu korisničkih ID-ova. Neki telefoni, poput BlackBerry Priv čak idu korak dalje i neće se pokrenuti ako išta promijenimo (čak i ako mogao).

Da biste postali root, trebate promijeniti svoj korisnički ID.

Nakon što sve to prevaziđemo — bilo otključavanjem bootloadera putem ovlaštenih sredstava ili uporabom neke vrste exploit-a — možemo postaviti SU binarnu datoteku (SubstituteUser) na mjesto koje može pokrenuti kada se pozove da se pokrene — to se zove STAZA. Ako je bilo koja aplikacija u PATH vašeg korisničkog ID-a, pokrenut će se bez da će sustavu reći gdje se točno nalazi. Također morate biti sigurni da je SU binarna datoteka na mjestu da vaš korisnički ID ima dopuštenje za izvršavanje (pokretanje) datoteka. Svaka druga aplikacija (Google Play ima mnogo aplikacija koje trebaju root dozvole) također će trebati isti pristup. Kada koristite metodu za rootanje telefona, sve to rješavaju ljudi koji su napravili root metodu.

Kada je sve to postavljeno, možemo pokrenuti SU binarnu datoteku (ili neka druga aplikacija može pokrenuti SU binarnu datoteku).

Dobivanje root pristupa

Ja sam Groot

Tu na scenu stupa root. SU binarna datoteka koristi zastavice kada se pokreće da kaže sustavu na koji korisnički ID želite prijeći. Na primjer, ako pokrenem SU binarnu datoteku na svom Ubuntu računalu ovako "su Jim -c nano" pokrenut ću naredbu nano kao korisnik Jim (nakon što unesem Jimovu lozinku). Ako pokrenete SU binarnu datoteku bez oznaka ili argumenata, prebacuje vas na root korisnika. Obično biste trebali unijeti lozinku, ali budući da je "root" neiskorišteni korisnik na Androidu, on nema lozinku. Pokretanje naredbe "su" prebacit će vas na root korisnika i dodijeliti vam korisnički ID od 0, te vas staviti u root grupu. Sada ste Super korisnik.

Kao super korisnik možete učiniti bilo što s bilo kojom datotekom, mapom ili particijom na svom Androidu. Pod bilo čime, mislimo doslovno na sve. Možete ukloniti bloatware aplikacije i također možete ukloniti bitne sistemske datoteke koje kvare vaš telefon. Također možete raditi stvari na hardveru, poput promjene frekvencije CPU-a i zauvijek uništiti svoj telefon.

Root je super korisnik, koji može sve. A mi mislimo bilo što.

Aplikacije mogu raditi istu stvar. SU se nalazi tamo gdje je u aplikaciji PATH i svaka aplikacija ga može pozvati i pokrenuti. Ta aplikacija tada ima dopuštenja Super User i može raditi što god želi s bilo kojom datotekom bilo gdje na vašem telefonu. Zbog toga ljudi koji su napravili vaš telefon stvarno ne žele da imate ovu razinu pristupa, kao ni tvrtke koji vam dopuštaju da otključate bootloader i promijenite stvari još uvijek ne postavljaju SU binarnu datoteku na vaš telefon zadano. Imati root pristup bez mogućnosti kontrole tko ili što ga može koristiti opasno je za softver vašeg telefona i vaše osobne podatke.

Zato trebate instalirati aplikaciju koja vas prisiljava da dopustite root pristup svaki put kada vi ili neka druga aplikacija pokušate pozvati dopuštenja Super User. U većini slučajeva kada koristite korijensku metodu za svoj telefon, ona će biti uključena, zajedno s nekim drugim korisnim binarnim datotekama poput skupa alata BusyBox. Ako ste nešto radili ručno, morat ćete ga sami instalirati. SuperSU by Chainfire u Google Playu dobar je za početak.

Parčići

Mnogi telefoni i neke root metode rade stvari malo drugačije (Android 4.3 donio je puno promjena) i zahtijevaju skripte ili demon (vidjet ćete riječi kao što su daemonsu ili su.d spomenute) umjesto da jednostavno ispustite SU binarnu datoteku mjesto. Oni se koriste za pozivanje SubstituteUser tako da se možete prebaciti na root korisnika baš kao i neobrađena binarna metoda. Ljudi koji su smislili kako rootati vaš telefon sve su to riješili i isto će raditi na strani korisnika.

Također je moguće "temp-rootirati" neke Androide. To znači da možete imati dopuštenja Super User i učiniti nekoliko stvari koje trebate učiniti, ali ponovno podizanje sustava oduzima root pristup. Isto tako, možete imati "shell-root" preko kojeg možete pristupiti samo root korisniku adb s vašeg računala.

Na kraju, želim naglasiti da ako ste imali ova pitanja, trebate razmisliti jeste li spremni imati rootan Android. Nismo se šalili kad smo rekli da je lako pokvariti svoj telefon s pristupom SuperUser. Nema razloga da se sramite što trebate malo pročitati ili postaviti još nekoliko pitanja prije nego što učinite stvari koje vam mogu pokvariti telefon ili dati nekoj nasumičnoj aplikaciji za crvenu pristup svim vašim podacima.

Zbog toga smo ovdje.

instagram story viewer