SuperSU BETA: Root Android Lollipop na Stock Kernel

click fraud protection

Breaking: Chainfire dnes oznámila SuperSU Beta 2.27, čímž odstraňuje potřebu úprav ramdisku jádra, aby bylo možné využívat root přístup na Androidu 5.0

Až dosud, pokud jste chtěli získat root na Androidu 5.0, museli jste do svého zařízení flashovat upravené jádro, abyste obešli některá omezení SELinux. XDA Senior uznávaný vývojář Řetězový oheň nedávno vydal dříve nezbytné CF-Auto-Root balíček, který provedl nezbytné úpravy ramdisku jádra k odstranění omezení SELinux ze skriptu install-recovery.sh na AOSP. Dnes ráno však Chainfire vyvolal úsměvy na mnoha tvářích, stejně jako on oznámil na Twitteru že to v budoucnu již nebude nutné.

Až do dnešního dne Chainfire plánoval uvolnit automatizovaný záplatovací nástroj založený na ZIP, aby automaticky opravovat obrazy jádra z obnovy TWRP, dokud nenarazil na vhodnou metodu, jak tuto potřebu odstranit tento.

Toto odhalení znamená, že uživatelé Androidu 5.0 již nemusejí spouštět upravené jádro, aby získali root přístup prostřednictvím SuperSU (nebo jiných root řešení). I když to nebyl velký problém na zařízeních Nexus s odemykatelnými bootloadery, potřeba úprav ramdisku byla týkající se mnoha uživatelů zařízení uzamčených bootloaderem, pro která není k dispozici žádné odemknutí (ano, bohužel ano existovat). Odpověď na jejich modlitby je nyní zde a my můžeme předložit exkluzivní vysvětlení potřebných změn. Přinejmenším prozatím (dokud to neopraví Google) je možné získat přístup root a poté nainstalovat a používat SuperSU na sériovém zařízení se systémem Android 5.0 bez jakéhokoli ladění ramdisku jádra. Důvodem je potřeba, aby SuperSU spouštělo službu jako root, aby byl umožněn neomezený přístup root na zařízeních chráněných SELinuxem.

Dříve SuperSU využíval předinstalovaný AOSP flash_recovery službu (používá se v AOSP k aktualizaci obnovy po instalaci OTA) ke spuštění démona SuperSU (který ve skutečnosti poskytuje oprávnění uživatele root pro aplikace, které to vyžadují). S vydáním Lollipop byla tato služba přidána do omezeného kontextu SELinux, což znamená, že již nemá nefalšovaný přístup k systému. Předchozí úpravy jádra se snažily odstranit omezení SELinuxu z tohoto skriptu.

Poslední beta verze SuperSU od Chainfire to řeší pomocí základní služby „Zygote“ (odpovědné za spouštění všech služeb Java, a tedy všech aplikací nainstalovaných v zařízení). Protože Zygote je jednou z mála služeb dostupných na Androidu L, která je spuštěna jako root v rámci neomezený "init" kontext SELinux, to z něj dělá hlavní cíl pro použití při provozu SuperSU. Po nabootování má služba Zygote svůj kontext „init“ SELinux převedený do svého konečného (omezeného) kontextu „Zygote“. Chainfire se podařilo úspěšně upravit soubory Zygote, aby mohl spouštět kód jako uživatel root, v neomezeném kontextu "init", čímž se SuperSU vrací zpět do Androidu L, bez jádra modifikace.

Není to poprvé, co se Chainfire obrátil na Zygote, aby vyřešil tyto problémy; dřívější beta verze 2.23 používala Zygote jako prostředek k případnému obejití některých dalších problémů SELinuxu (které způsobovaly selhání kořenových aplikací na Androidu L). To umožnilo, aby některé (ale ne všechny) nefungující aplikace fungovaly - zbytek vyžaduje některé aktualizace od jejich vývojářů. Bohužel, když byl konzultován kód 5.0 AOSP, ukázalo se, že Google již tuto metodu převzetí služby Zygote prolomil. Vzhledem k tomu, že všechny jeho předchozí pokusy o převzetí Zygoty selhaly, je to slibný krok vpřed.

Chainfire s nadšením poukázal na to, že SuperSU je již dlouho schopen upravovat zásady SELinuxu na běžícím systému (a upozorňoval na snadnost který OEM by to mohl zakázat a skutečně zabránit smysluplnému a jednoduchému přístupu root) a jak je třeba provést jakékoli úpravy Zygote opatrně, vzhledem k tomu, že je služba spouštěna z různých různých kontextů, pro různé úkoly, což zvyšuje možnost řady (nepříjemných) drobná selhání. Tato nová beta verze SuperSU 2.27 je sestavení pro nadšence a další techniky, se kterými si mohou hrát, aby zjistili, co se pokazilo. Držte nám palce – nenastaly žádné neočekávané chyby a toto je životaschopná cesta vpřed.

Vezměte na vědomí – i když tato beta funguje a Zygote je preferovanou cestou k získání rootovského přístupu, celý proces je pouze jednořádkovou změnou daleko od prolomení Googlem, což by udělalo z opravených jaderných ramdisků budoucnost pro root přístup na Androidu (čímž vyloučí root pro bootloader-locked zařízení). Ve skutečnosti, jako upozornění, nový proces nemusí fungovat ani na plně aktuálním sestavení AOSP kvůli některým poměrně velkým SELinux změny během několika posledních měsíců, které nebyly zahrnuty do maloobchodních zařízení, ale které nepochybně budou v budoucnu vydání. Dříve nebo později se však zdá pravděpodobné, že pro roota budou nutné modifikované jaderné ramdisky, ale tato nová beta může nabídnout krátkou dobu spuštění, než se budeme muset vydat tímto směrem.

Překontrolovat poznámky k vydání Další informace o rizicích spojených s testováním a odkazy. Vývojáři by si také měli být vědomi toho, že Chainfire v současné době usilovně pracuje na Průvodce "Jak na SU". (plně aktualizovaný pro Android 5.0), který by měl být dostupný během několika příštích dnů.

[Velké díky Chainfireovi za jeho práci zde a pomoc při přípravě tohoto článku.]