Android Centrála

Co vlastně znamená rootnutí telefonu?

protection click fraud

Rádi dostáváme vaše dotazy. Vždy je dobré, když si můžeme navzájem pomáhat, a když hledáme odpovědi, sami se učíme. I když si nemůžeme najít čas na to, abychom na všechny odpověděli, někdy se určitá otázka objeví natolik, že si zaslouží podrobnou odpověď.

"Co dělá vykořenit znamená?" je jedna z těch otázek. Tento koncept může být pro některé z nás jednoduchý, ale pro mnoho lidí, kteří netrávili čas šťoucháním se s Androidem nebo jiným operačním systémem založeným na oprávněních, je to něco, na co by se měli ptát. Pokusím se na ně odpovědět, jak nejlépe dovedu.

Oprávnění

oprávnění k souboru

Než definujeme root, je důležité pochopit, proč existuje a jak funguje. Je to proto, že Android používá oprávnění (přesněji oprávnění založená na Linuxu) ve struktuře souborů. Každý soubor, každá složka a každý oddíl má sadu oprávnění. Tato oprávnění rozhodují o tom, kdo může číst soubor (prohlížet nebo přistupovat k obsahu, aniž by jej měnil), zapisovat do souboru (být schopen měnit obsah tohoto souboru nebo vytvořte nový soubor ve složce nebo oddílu) a spusťte soubor (spusťte soubor, pokud se jedná o typ, který lze spustit, např. aplikace). To se děje na základě uživatelů a oprávnění – určití uživatelé mají přístup, zatímco uživatelům, kteří nemají správná oprávnění, je přístup zablokován.

Při prvním nastavení telefonu a jeho prvním zapnutí je vám přiděleno uživatelské ID. Pokud se přes Google přihlásí jiný uživatel, je mu přidělen a odlišný uživatelské ID. Když je aplikace nainstalována do telefonu, je jí také přiřazeno vlastní ID uživatele. Samotný systém je uživatel a další procesy, které je třeba spustit na vašem telefonu, mohou mít své vlastní uživatelské ID. Vše, co může udělat cokoli s libovolnými soubory na vašem Androidu, je uživatel.

Systém uživatelů a oprávnění je způsob, jakým Android sleduje, kdo co může dělat.

Řekněme, že si nainstalujete aplikaci pro zasílání zpráv. Při instalaci dostane přidělené ID uživatele. Získá také místo ve vašem vlastním datovém oddílu, ke kterému má přístup pouze ono. Máte oprávnění ke spuštění aplikace, a když je aplikace spuštěna, má oprávnění k přístupu ke své vlastní datové složce a souborům. Aplikace může také vyžadovat povolení k přístupu k věcem, jako je váš adresář nebo karta SD nebo knihovna fotografií. Pokud na tyto požadavky odpovíte ano (nebo pokud souhlasíte s oprávněními ve starších verzích Androidu), bude uživatelské ID aplikace uděleno oprávnění k datovým souborům těchto věcí, což znamená, že se může podívat na datovou složku a její obsah a případně je změnit nebo přidat nové soubory. Aplikace nemá přístup k žádným datovým souborům, ke kterým nemá oprávnění „prohlížet“. To znamená (v našem příkladu) nemůže dělat věci, jako je podívat se do databáze nastavení nebo přistupovat k datové složce jiné aplikace. Často se pro to používá termín sandbox – aplikace jsou v sandboxu a mohou hrát pouze v karanténách, ve kterých mají oprávnění být.

Pro soubory, které jsou programy a lze je spustit (jako aplikace), platí stejný model oprávnění. Vaše ID uživatele má oprávnění spouštět aplikace, které jste nainstalovali, když jste přihlášeni. Uživatel systému má oprávnění je spouštět a další uživatelé na úrovni systému mohou mít přístup k aplikacím nebo určitým procesům, které aplikace používají. Jiné aplikace nemohou spouštět aplikace, ke kterým nemají oprávnění. Pokud jste přidali sekundárního uživatele, nebude mít přístup k vašim aplikacím nebo souborům a naopak. V telefonu jsou soubory, složky a aplikace, které máte ID uživatele ne mít povolení vidět, měnit nebo spouštět. Obvykle tyto části Androidu vyžadují oprávnění na úrovni systému (ID uživatele systému), aby s nimi bylo možné cokoliv dělat, a vy nejste systémový uživatel ani uživatel, který má oprávnění na úrovni systému.

Přepínání oprávnění

SuperSU

I když je technicky možné změnit způsob spouštění telefonu a soubory, které používá ke spouštění běžícího systému a přidělovat vašemu uživatelskému ID zvýšená oprávnění, není to bezpečné ani praktické. Ale Android (a většina systémů založených na Unixu nebo Linuxu) má to, čemu se říká uživatel root, a podporuje SubstituteUser binární (přemýšlejte o binární jako o malé aplikaci) ke změně ID uživatelů. Ty se používají ke správě systému v jádru úroveň.

Protože lidé, kteří vyrobili váš telefon, nechtějí, abyste měli snadný přístup k ID uživatele root – a ne všechny důvody jsou sobecké, protože také chrání vás a vaše soukromá data – binární soubor SubstituteUser není součástí většiny sestavení Android. Bez SubstituteUser nemůžeme změnit naše uživatelské ID. Mimochodem, většina věcí na systémové úrovni v Androidu má podobné jednoduché názvy. Základní zabezpečení (soubory v bootloaderu a/nebo samotné jádro) je také vytvořeno tak, aby vám zabránilo přepínat ID uživatelů jako součást SELinux (Sbezpečnost-Enhanced Linux – řekl jsem vám, že názvy jsou snadné) modul jádra. Některé telefony (napadá mě Samsung Knox) ​​mají další ochranu a téměř všechny společnosti, které vyrábějí Androidy, vyžadují, aby bylo možné provést změny, aby byl bootloader odemčené, takže tyto soubory lze změnit a umožní vám přepínat ID uživatelů. Některé telefony, jako je BlackBerry Priv, jdou ještě o krok dále a nezačnou se zavádět, pokud něco změníme (i když mohl).

Abyste se stali rootem, potřebujete způsob, jak změnit své uživatelské ID.

Jakmile se přes to všechno dostaneme — buď odemknutím bootloaderu autorizovanými prostředky nebo použitím nějakého exploitu — můžeme umístit binární soubor SU (SubstituteUser) na místo, které může běžet, když je voláno ke spuštění — to se nazývá CESTA. Pokud je nějaká aplikace v PATH vašeho ID uživatele, spustí se, aniž by systému sdělila, kde přesně se nachází. Také se musíte ujistit, že binární soubor SU je na místě, kde má vaše ID uživatele oprávnění spouštět (spouštět) soubory. Stejný přístup bude potřebovat i jakákoli jiná aplikace (Google Play má spoustu aplikací, které potřebují oprávnění root). Když použijete metodu k rootování telefonu, vše vyřeší lidé, kteří vytvořili metodu root.

Jakmile je vše na místě, můžeme spustit binární soubor SU (nebo jiná aplikace může spustit binární soubor SU).

Získání přístupu root

Jsem Groot

Tady přichází root. Binární soubor SU používá příznaky, když je spuštěn, aby sdělil systému, na jaké ID uživatele chcete přepnout. Pokud například spustím binární soubor SU na svém počítači s Ubuntu takto „su Jim -c nano“, spustím příkaz nano jako uživatel Jim (po zadání Jimova hesla). Pokud spustíte binární soubor SU bez příznaků nebo argumentů, přepne vás na uživatele root. Normálně byste museli zadat heslo, ale protože „root“ je v systému Android nepoužívaný uživatel, nemá žádné heslo. Spuštěním příkazu "su" se přepnete do kořenového adresáře uživatele a přiřadí vám uživatelské ID 0 a vloží vás do kořenové skupiny. Nyní jste superuživatel.

Jako Super User můžete dělat cokoliv s jakýmkoliv souborem, složkou nebo oddílem na vašem Androidu. Čímkoli, myslíme doslova cokoliv. Můžete odstranit bloatwarové aplikace a také můžete odstranit základní systémové soubory, které narušují váš telefon. Můžete také dělat věci s hardwarem, jako je změnit frekvenci CPU a zničit váš telefon navždy.

Root je super uživatel, který může dělat cokoliv. A myslíme cokoli.

Aplikace mohou dělat totéž. SU je umístěno tam, kde je v aplikaci PATH a jakákoli aplikace jej může zavolat a spustit. Tato aplikace pak má oprávnění Super User a může dělat cokoli, co se jí zlíbí, s jakýmkoli souborem na libovolném místě v telefonu. To je důvod, proč lidé, kteří vyrobili váš telefon, opravdu nechtějí, abyste měli tuto úroveň přístupu, a společnosti kteří vám umožňují odemknout zavaděč a změnit věci, stále neumísťují binární kód SU do vašeho telefonu výchozí. Mít přístup root bez možnosti ovládat, kdo nebo co jej může používat, je nebezpečné pro software vašeho telefonu a vaše osobní data.

Proto musíte nainstalovat aplikaci, která vás nutí povolit přístup root, kdykoli se vy nebo jiná aplikace pokusí vyvolat oprávnění Super User. Když pro svůj telefon používáte kořenovou metodu, ve většině případů bude jedna zahrnuta spolu s některými dalšími užitečnými binárními soubory, jako je sada nástrojů BusyBox. Pokud jste dělali věci ručně, budete si muset jeden nainstalovat sami. SuperSU od Chainfire v Google Play je dobré začít.

Drobnosti

Mnoho telefonů a některé metody root dělají věci trochu jinak (Android 4.3 přinesl spoustu změn) a vyžadují skripty nebo démona (uvidíte zmíněná slova jako daemonsu nebo su.d) namísto pouhého vypuštění binárního SU místo. Používají se k volání SubstituteUser, takže se můžete přepnout na uživatele root stejně jako nezpracovaná binární metoda. Lidé, kteří přišli na to, jak rootovat váš telefon, to všechno vyřešili a na straně uživatele to bude fungovat stejně.

Je také možné "temp-root" některé Androidy. To znamená, že můžete mít oprávnění superuživatele a dělat pár věcí, které musíte udělat, ale restart odebere přístup root. Podobně můžete mít "shell-root", kde můžete přistupovat pouze k uživateli root adb z vašeho počítače.

Nakonec chci zdůraznit, že pokud máte tyto otázky, musíte zvážit, zda jste připraveni mít rootovaný Android. Nedělali jsme si legraci, když jsme řekli, že s přístupem SuperUser je snadné zničit telefon. Není důvod se stydět za to, že si musíte něco přečíst nebo se zeptat na pár dalších otázek, než uděláte věci, které mohou rozbít váš telefon nebo poskytnout nějaké náhodné aplikaci přístup ke všem vašim datům.

Od toho jsme tady.

instagram story viewer