Co přesně je superuser.apk a su?

Hodně jsem četl zakořenění zařízení Android. Opravdu chci přesně vědět, co se děje v každém kroku, než se zaváži procesu.

Jsem trochu zmatený, odkud soubory superuser.apk a su pocházejí. Nevypadá to, že by šlo o oficiální soubory Google, ale spíše o soubory vytvořené (náhodným) jednotlivcem. To znamená, jak bezpečné jsou tyto soubory?

Z výzkumu obecně chápu jejich účel . Zajímalo by mě, jestli někdo ví, co jsou tyto soubory (spustitelné soubory? Skripty?), Co obsahují a jak obecně fungují.

Díky!

Komentáře

Odpověď

su (zkratka pro Switch User) je binární spustitelný soubor. Používá jej Android a další systémy založené na * nix, aby proces změny uživatelského účtu, ke kterému je přidružen. Důvodem, proč je to důležité z hlediska zakořenění, je to, že su bez dalších parametrů se přepne na uživatele root, což znamená, že procesy, které pro svou funkčnost vyžadují oprávnění root, musí vyvolat su (protože ve výchozím nastavení nejsou spouštěny rootem).

Superuser je aplikace pro Android (.apk je balíček aplikace pro Android). Funguje jako druh „gatekeeper“ do su binárního souboru. Aplikace, které se pokusí vyvolat su, budou nuceny směrovat přes Superuser, který poté vyzve uživatel, pokud se jedná o neznámou nebo novou aplikaci. Uživatel má poté možnost schválit nebo zamítnout přístup k su a volitelně si může Superuser zapamatovat jejich rozhodnutí, aby jej mohl automaticky použít pro následné volání touto aplikací. Tímto způsobem jsou pouze aplikace, kterým byla udělena oprávnění uživatele root, ty, které si uživatel vybere.

Zdroj obou aplikace jsou k dispozici na Githubu a mohou být prozkoumány / zkontrolovány kýmkoli, kdo si je chce prohlédnout (Superuser zde , su zde ).

Další podrobnosti a seznamy změn najdete na webu superuživatele .

Další související otázky týkající se nadšenců systému Android:

Komentáře

  • Opravdu oceňuji podrobnou odpověď a odkazy! Děkujeme!
  • Existují nějaké alternativy / ekvivalenty těchto souborů pro účely zakořenění Androidu?
  • @kaspnord: Ne, su je stejný soubor používaný pro jiné operační systémy linux / unix a ' k němu neexistují žádné alternativy, ale může existovat soubor superuser.apk. Proč chcete alternativu?
  • Jsem ' jen zvědavý, protože tyto soubory, i když požehnané komunitou otevřených zdrojů, don ' Zdá se, že má standard jakéhokoli druhu (tj. ne oficiálně Google). To mě tedy vede k myšlence, že je možné, aby ostatní lidé vytvořili další varianty stejných souborů. Pro mě osobně chci přesně vědět, co ' m používám a vkládám do svého zařízení, spíše než spoléhat na řešení od ostatních, kde nemohu se 100% jistotou vědět, co soubory obsahují.

Odpověď

zdrojový kód pro Superuser je k dispozici na github, hlavním autorem Superuseru jsou Adam Shanks ( ChainsDD ) a Koushik Dutta ( koush , také autor aplikace Clockwork Recovery).

Koushik Dutta ve svém blogu vysvětlil, jak funguje Superuser.apk ; Všimněte si, že příspěvek pochází z nejranější inkarnace aplikace Superuser, od té doby se změnilo mnoho věcí a některé z toho, co bylo napsáno, již nejsou správné pro moderní implementaci superuser / su, ale základy by měly být stále stejné.

Su i Superuser lze jistě nahradit alternativami, ale opravdu by to neudělalo tolik, protože zařízení, které používá su (tj. systémová volání exec () a setuid ()) je k dispozici všem spustitelným souborům, vzhledem k tomu, že spustitelný soubor měl správné bity oprávnění (tj. bit setuid je nastaven na root). V jádru je su velmi jednoduchý program, jen vytvoří proces jako jiný uživatel; skutečnou kontrolu zabezpečení provádí jádro.

Pokud tedy dostáváte oficiální nemodifikovanou aplikaci su a superuživatele a jsou správně nainstalovány se správným svolením, nemusíte se ničeho obávat, jsou to open source a v bezpečí, můžete si ověřit zdrojový kód sami na github. Určitě je však možné získat trojský binární soubor superuživatele / su, takže se ujistěte, že kdekoli získáte svůj binární soubor superuživatele / su, je důvěryhodný (nebo pokud jste skutečně paranoidní, zkompilujte si su / superuživatele sami.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *