Android Centrála

Čo vlastne znamená rootovanie telefónu?

protection click fraud

Radi dostávame vaše otázky. Vždy je dobré, keď si môžeme navzájom pomôcť a pri hľadaní odpovedí sa učíme. Aj keď si nevieme nájsť čas na zodpovedanie všetkých z nich, niekedy sa určitá otázka objaví natoľko, že si zaslúži podrobnú odpoveď.

"Čo robí koreň znamená?" je jedna z týchto otázok. Tento koncept môže byť pre niektorých z nás jednoduchý, no pre mnohých ľudí, ktorí sa nevenovali hrabaniu s Androidom alebo iným operačným systémom založeným na povoleniach, je to niečo, na čo sa môžu pýtať. Pokúsim sa na ne odpovedať čo najlepšie.

Povolenia

povolenia súborov

Predtým, ako definujeme root, je dôležité pochopiť, prečo existuje a ako funguje. Je to preto, že Android používa povolenia (presnejšie povolenia založené na Linuxe) v štruktúre súborov. Každý súbor, každý priečinok a každý oddiel má súbor povolení. Tieto povolenia rozhodujú o tom, kto môže čítať súbor (prezerať si obsah alebo pristupovať k nemu bez toho, aby ho menil), zapisovať do súboru (mať možnosť meniť obsah tohto súboru alebo vytvorte nový súbor v priečinku alebo oddiele) a spustite súbor (spustite súbor, ak ide o typ, ktorý možno spustiť, napr. aplikácia). Deje sa to na základe používateľov a povolení – určití používatelia majú prístup, zatiaľ čo používateľom, ktorí nemajú správne povolenia, je prístup zablokovaný.

Pri prvom nastavení telefónu a jeho prvom zapnutí vám bude pridelené ID používateľa. Ak sa cez Google prihlási iný používateľ, je mu pridelený a rôzne ID používateľa. Keď je aplikácia nainštalovaná v telefóne, je jej tiež priradené vlastné ID používateľa. Samotný systém je používateľ a ďalšie procesy, ktoré je potrebné spustiť na vašom telefóne, môžu mať svoje vlastné ID používateľa. Všetko, čo môže urobiť čokoľvek so súbormi na vašom Androide, je používateľ.

Systém používateľov a povolení je spôsob, akým Android sleduje, kto čo môže robiť.

Povedzme, že si nainštalujete aplikáciu na odosielanie správ. Pri inštalácii dostane pridelené ID používateľa. Získa tiež miesto vo vašom vlastnom dátovom oddiele, ku ktorému má prístup iba ono. Máte povolenia na spustenie aplikácie a keď je aplikácia spustená, má povolenie na prístup k svojmu vlastnému priečinku s údajmi a súborom. Aplikácia môže tiež požiadať o povolenie na prístup k veciam, ako je váš adresár alebo karta SD alebo knižnica fotografií. Ak na tieto žiadosti odpoviete áno (alebo ak súhlasíte s povoleniami na starších verziách Androidu), bude ID aplikácie udelené povolenie na dátové súbory týchto vecí, čo znamená, že môže nahliadnuť do dátového priečinka a jeho obsahu a prípadne ich zmeniť alebo pridať nové súbory. Aplikácia nemôže pristupovať k žiadnym dátovým súborom, na ktoré nemá povolenie „pozerať sa“. To znamená (v našom príklade) nemôže robiť veci, ako je prezeranie databázy nastavení alebo prístup k priečinku s údajmi inej aplikácie. Často sa na to používa výraz karanténa – aplikácie sú izolované a môžu sa hrať iba v karanténách, v ktorých majú povolenie.

Pre súbory, ktoré sú programami a možno ich spustiť (napríklad aplikácie), platí rovnaký model povolení. Vaše ID používateľa má povolenie spúšťať aplikácie, ktoré ste nainštalovali, keď ste prihlásení. Používateľ systému má povolenie ich spúšťať a iní používatelia na úrovni systému môžu mať prístup k aplikáciám alebo určitým procesom, ktoré aplikácie používajú. Iné aplikácie nemôžu spustiť aplikácie, na spustenie ktorých nemajú povolenie. Ak ste pridali sekundárneho používateľa, nebude mať prístup k vašim aplikáciám alebo súborom a naopak. Vo vašom telefóne sú súbory, priečinky a aplikácie, ktoré máte ID používateľa nie mať povolenie vidieť, meniť alebo spúšťať. Tieto časti systému Android zvyčajne vyžadujú povolenia na úrovni systému (identifikátor používateľa systému), s ktorými môžete čokoľvek robiť, a vy nie ste používateľ systému ani používateľ, ktorý má povolenia na úrovni systému.

Prepínanie povolení

SuperSU

Aj keď je technicky možné zmeniť spôsob spúšťania telefónu a súbory, ktoré používa na spustenie bežiaceho systému a pridelenie zvýšených povolení vášmu ID používateľa, nie je to bezpečné ani praktické. Ale Android (a väčšina systémov založených na Unixe alebo Linuxe) má to, čo sa nazýva root, a podporuje SubstituteUser binárne (predstavte si binárny súbor ako malú aplikáciu) na zmenu ID používateľov. Používajú sa na správu systému v jadre úrovni.

Pretože ľudia, ktorí vytvorili váš telefón, nechcú, aby ste mali jednoduchý prístup k ID užívateľa root – a nie všetky dôvody sú sebecké, pretože chráni aj vás a vaše súkromné ​​údaje – binárny súbor SubstituteUser nie je súčasťou väčšiny verzií Android. Bez SubstituteUser nemôžeme zmeniť naše ID používateľa. Mimochodom, väčšina vecí na systémovej úrovni v systéme Android má podobné jednoduché názvy. Základné zabezpečenie (súbory v bootloaderi a/alebo samotnom jadre) sú tiež postavené tak, aby vám zabránili prepínať ID používateľov ako súčasť SELinux (Sbezpečnosť-Enhanced Linux – povedal som vám, že názvy sú jednoduché) modul jadra. Niektoré telefóny (napadá ma Samsung Knox) ​​majú ďalšiu ochranu a takmer všetky spoločnosti, ktoré vyrábajú Androidy, vyžadujú, aby na vykonanie zmien bol bootloader odomknuté, aby sa tieto súbory dali zmeniť a umožnili vám prepínať ID používateľov. Niektoré telefóny, ako napríklad BlackBerry Priv, idú ešte o krok ďalej a nezavedú sa, ak niečo zmeníme (aj keď mohol).

Ak sa chcete stať rootom, potrebujete spôsob, ako zmeniť svoje ID používateľa.

Keď to všetko prekonáme - buď odomknutím bootloadera autorizovanými prostriedkami alebo pomocou nejakého exploitu - môžeme umiestniť binárny súbor SU (SubstituteUser) na miesto, ktoré môže spustiť, keď je zavolané na spustenie - to sa nazýva PATH. Ak sa nejaká aplikácia nachádza v PATH vášho ID používateľa, spustí sa bez toho, aby systému povedala, kde presne sa nachádza. Musíte sa tiež uistiť, že binárny súbor SU je na mieste, kde má vaše ID používateľa povolenie na spúšťanie (spúšťanie) súborov. Rovnaký prístup bude potrebovať aj akákoľvek iná aplikácia (Google Play má veľa aplikácií, ktoré potrebujú oprávnenia root). Keď použijete metódu na rootovanie telefónu, všetko to vyriešia ľudia, ktorí vytvorili metódu root.

Keď je všetko na mieste, môžeme spustiť binárny súbor SU (alebo iná aplikácia môže spustiť binárny súbor SU).

Získanie prístupu root

Ja som Groot

Tu prichádza root. Binárny SU používa pri spustení príznaky, aby povedal systému, na aké ID používateľa chcete prepnúť. Napríklad, ak spustím binárny súbor SU na svojom počítači Ubuntu takto "su Jim -c nano", spustím príkaz nano ako používateľ Jim (po zadaní Jimovho hesla). Ak spustíte binárny súbor SU bez príznakov alebo argumentov, prepne vás na používateľa root. Normálne by ste museli zadať heslo, ale keďže „root“ je nepoužívaný používateľ v systéme Android, nemá žiadne heslo. Spustenie príkazu "su" vás prepne do koreňového adresára používateľa a pridelí vám ID používateľa 0 a umiestni vás do koreňovej skupiny. Teraz ste super užívateľ.

Ako superpoužívateľ môžete urobiť čokoľvek s akýmkoľvek súborom, priečinkom alebo oddielom v systéme Android. Čímkoľvek, myslíme doslova čokoľvek. Môžete odstrániť aplikácie bloatware a tiež môžete odstrániť základné systémové súbory, ktoré poškodzujú váš telefón. Môžete tiež urobiť veci s hardvérom, ako je zmena frekvencie procesora a zničenie telefónu navždy.

Root je super užívateľ, ktorý môže robiť čokoľvek. A myslíme tým čokoľvek.

Aplikácie môžu robiť to isté. SU je umiestnené tam, kde je v aplikácii PATH a ktorákoľvek aplikácia ho môže zavolať a spustiť. Táto aplikácia má potom oprávnenia Super User a môže robiť čokoľvek, čo sa jej páči, s akýmkoľvek súborom na akomkoľvek mieste v telefóne. To je dôvod, prečo ľudia, ktorí vyrobili váš telefón, naozaj nechcú, aby ste mali túto úroveň prístupu, a spoločnosti ktorí vám umožňujú odomknúť bootloader a zmeniť veci, stále neumiestňujú binárne číslo SU do vášho telefónu predvolená. Prístup typu root bez možnosti kontrolovať, kto alebo čo ho môže používať, je nebezpečný pre softvér vášho telefónu a vaše osobné údaje.

Preto si musíte nainštalovať aplikáciu, ktorá vás núti povoliť prístup root vždy, keď sa vy alebo iná aplikácia pokúsi vyvolať oprávnenia Super User. Vo väčšine prípadov, keď pre svoj telefón používate koreňovú metódu, bude jedna zahrnutá spolu s ďalšími užitočnými binárnymi súbormi, ako je napríklad sada nástrojov BusyBox. Ak ste veci robili ručne, budete si musieť jeden nainštalovať sami. SuperSU od Chainfire v Google Play je dobré začať.

Kurzy a konce

Mnoho telefónov a niektoré metódy root robia veci trochu inak (Android 4.3 priniesol veľa zmien) a vyžadujú skripty alebo démona (uvidíte spomenuté slová ako daemonsu alebo su.d) namiesto jednoduchého vypustenia binárneho súboru SU miesto. Používajú sa na volanie SubstituteUser, takže sa môžete prepnúť na používateľa root rovnako ako pri surovej binárnej metóde. Ľudia, ktorí prišli na to, ako rootovať váš telefón, to všetko vyriešili a na strane používateľa to bude fungovať rovnako.

Je tiež možné „temp-rootovať“ niektoré Androidy. To znamená, že môžete mať oprávnenia Super User a robiť niekoľko vecí, ktoré musíte urobiť, ale reštartovanie odoberie prístup root. Podobne môžete mať „shell-root“, cez ktorý máte prístup iba k používateľovi root adb z vášho počítača.

Nakoniec by som chcel zdôrazniť, že ak máte tieto otázky, musíte zvážiť, či ste pripravení mať rootovaný Android. Nerobili sme si srandu, keď sme povedali, že s prístupom SuperUser je ľahké zničiť telefón. Nie je dôvod hanbiť sa za to, že si musíte trochu prečítať alebo položiť niekoľko ďalších otázok, kým urobíte veci, ktoré môžu rozbiť váš telefón alebo poskytnúť náhodnej aplikácii prístup ku všetkým vašim údajom.

Na to sme tu.

instagram story viewer