SuperSU BETA: Root Android Lollipop na Stock Kernel

click fraud protection

Breaking: Chainfire dnes oznámil SuperSU Beta 2.27, čím odstraňuje potrebu úprav ramdisku jadra, aby bolo možné využívať rootovský prístup v systéme Android 5.0

Ak ste doteraz chceli získať root na Android 5.0, museli ste do svojho zariadenia flashovať upravené jadro, aby ste obišli niektoré obmedzenia SELinuxu. XDA Senior uznávaný vývojár Chainfire nedávno vydal predtým potrebné CF-Auto-Root balík, ktorý vykonal potrebné úpravy ramdisku jadra na odstránenie obmedzenia SELinux zo skriptu install-recovery.sh na AOSP. Dnes ráno však Chainfire vyvolal úsmev na mnohých tvárach, ako aj on oznámila na Twitteri že to v budúcnosti už nebude potrebné.

Až do dnešného dňa mala spoločnosť Chainfire v pláne vydať automatický opravný nástroj na báze ZIP, a to automaticky opravovať obrazy jadra z obnovy TWRP, kým nenarazil na vhodnú metódu na odstránenie potreby toto.

Toto odhalenie znamená, že používatelia Androidu 5.0 už nemusia spúšťať upravené jadro, aby získali root prístup cez SuperSU (alebo iné root riešenia). Aj keď to na zariadeniach Nexus s odomykateľnými bootloadermi nebol veľký problém, potreba úprav ramdisku bola týkajúci sa mnohých používateľov zariadení uzamknutých bootloaderom, pre ktoré nie je k dispozícii žiadne odomknutie (áno, bohužiaľ áno existujú). Odpoveď na ich modlitby je teraz tu a my môžeme predložiť exkluzívne vysvetlenie potrebných zmien. Prinajmenšom zatiaľ (pokiaľ to neopraví Google) je možné získať prístup root a potom nainštalovať a používať SuperSU na zariadení so systémom Android 5.0 bez akéhokoľvek ladenia ramdisku jadra. Dôvodom je potreba, aby SuperSU spúšťal službu ako root, aby sa umožnil neobmedzený prístup root na zariadeniach chránených SELinuxom.

Predtým SuperSU využíval predinštalovaný AOSP flash_recovery (používa sa v AOSP na aktualizáciu obnovy po inštalácii OTA) na spustenie démona SuperSU (ktorý v skutočnosti poskytuje oprávnenia root pre aplikácie, ktoré to vyžadujú). S vydaním Lollipop bola táto služba pridaná do obmedzeného kontextu SELinux, čo znamená, že už nemá nefalšovaný prístup do systému. Predchádzajúce úpravy jadra sa snažili odstrániť obmedzenia SELinux z tohto skriptu.

Najnovšia beta verzia SuperSU od Chainfire to rieši pomocou základnej služby „Zygote“ (zodpovednej za spustenie všetkých služieb Java, a teda všetkých aplikácií nainštalovaných na zariadení). Keďže Zygote je jednou z mála služieb dostupných pre Android L, ktorý je spustený ako root v rámci neobmedzený "init" kontext SELinux, to z neho robí hlavný cieľ na použitie pri prevádzke SuperSU. Po spustení služby Zygote sa kontext SELinux "init" prepne do konečného (obmedzeného) kontextu "Zygote". Chainfire sa podarilo úspešne upraviť súbory Zygote, aby mohol spustiť kód ako užívateľ root, v neobmedzenom „init“ kontexte, čím sa SuperSU vracia späť do Androidu L, bez jadra modifikácií.

Nie je to prvýkrát, čo sa spoločnosť Chainfire obrátila na Zygote, aby vyriešila tieto problémy; skoršia beta verzia 2.23 používala Zygote ako prostriedok na možné obídenie niektorých ďalších problémov SELinuxu (ktoré spôsobovali zlyhanie koreňových aplikácií v systéme Android L). To umožnilo, aby niektoré (ale nie všetky) nefungujúce aplikácie fungovali - zvyšok vyžaduje od vývojárov určité aktualizácie. Bohužiaľ, keď sa konzultoval kód 5.0 AOSP, ukázalo sa, že Google už túto metódu prevzatia služby Zygote porušil. Vzhľadom na to, že všetky jeho predchádzajúce pokusy prevziať Zygote zlyhali, je to sľubný krok vpred.

Chainfire chcel poukázať na to, že SuperSU už dlho dokáže upravovať politiky SELinux na spustenom systéme (a varuje, pokiaľ ide o jednoduchosť ktorý OEM by to mohol zakázať a skutočne zabrániť zmysluplnému a jednoduchému prístupu root) a ako sa musia vykonať akékoľvek úpravy v Zygote opatrne, vzhľadom na to, že služba je spustená z rôznych kontextov, pre rôzne úlohy, čo zvyšuje možnosť mnohých (nepríjemných) jemné zlyhania. Táto nová beta verzia SuperSU 2.27 je zostavou pre nadšencov a iných technikov, s ktorými sa môžu hrať, aby zistili, čo sa pokazilo. Držte nám palce – nenastali žiadne neočakávané chyby a toto je schodná cesta vpred.

Berte na vedomie – aj keď táto beta verzia funguje a Zygote je preferovanou cestou na získanie prístupu root, celý proces je len jednoriadkovou zmenou. ďaleko od toho, aby ich prelomil Google, čo by urobilo z opravených kernel ramdiskov budúcnosť pre root prístup v Androide (čím sa vylúči root pre bootloader-locked zariadenia). V skutočnosti, ako upozornenie, nový proces nemusí fungovať ani na úplne aktualizovanom zostavení AOSP kvôli pomerne veľkému SELinuxu zmeny v priebehu posledných mesiacov, ktoré neboli zahrnuté v maloobchodných zariadeniach, ale ktoré nepochybne budú v budúcnosti vydania. Skôr či neskôr sa však zdá pravdepodobné, že pre root budú potrebné modifikované jadrové ramdisky, ale táto nová beta môže ponúknuť krátky čas spustenia, kým sa budeme musieť vydať týmto smerom.

Odhlásiť sa poznámky k vydaniu pre viac informácií o rizikách spojených s testovaním a pre odkazy. Vývojári by si tiež mali uvedomiť, že Chainfire v súčasnosti usilovne pracuje na Sprievodca "Ako na SU". (plne aktualizovaný pre Android 5.0), ktorý by mal byť dostupný v priebehu najbližších dní.

[Veľká vďaka Chainfireovi za jeho prácu a pomoc pri príprave tohto článku.]