Що саме таке superuser.apk і su?


32

Я багато читав над вкоріненням Android-пристроїв. Мені дуже хочеться точно знати, що відбувається на кожному кроці, перш ніж взяти на себе процес.

Я трохи розгублений, звідки беруться файли superuser.apk і su. Схоже, це не офіційні файли Google, а файли, створені (випадковою) особою. Це означає, наскільки безпечні ці файли?

З досліджень я маю загальне розуміння їх призначення. Мені було цікаво, чи хтось знає, що це за файли (виконувані файли? Скрипти?), Що вони містять і як вони взагалі працюють.

Спасибі!


Відповіді:


32

su(скорочено для користувача Switch) - двійковий виконуваний файл. Він використовується Android та іншими системами на базі * nix, щоб дозволити процесу змінити обліковий запис користувача, з яким він пов’язаний. Причина, важлива з точки зору вкорінення, полягає в тому, що suбез будь-яких інших параметрів перейде до кореневого користувача, це означає, що процеси, які потребують дозволу root для їх функціональності, повинні викликати su(оскільки за замовчуванням вони не запускаються корінь).

Superuser - додаток для Android (.apk - додаток для Android). Він працює як своєрідний "воротар" для suбінарного. Програми, які намагаються викликати, suбудуть змушені прокладати маршрут через Superuser, який потім підкаже користувача, якщо це невідомий або новий додаток. Потім користувач має можливість схвалити або заборонити доступ до нього, suа також необов'язково змусити Superuser запам'ятати своє рішення, щоб він міг автоматично застосувати його для наступних дзвінків цим додатком. Роблячи це, єдиними програмами, яким надано root права, є ті, які вибирає користувач.

Джерело обох додатків доступне на Github, і його може перевірити / перевірити кожен, хто бажає його переглянути (Superuser here , su here ).

Детальнішу інформацію - а також журнали змін можна знайти на веб-сайті Superuser .

Інші пов'язані питання щодо ентузіастів Android:


1
Я дуже ціную детальну відповідь та посилання! Спасибі!
kaspnord

1
Чи є альтернативи / еквіваленти цим файлам для вкорінення Android?
kaspnord

1
@kaspnord: Ні, suце той самий файл, який використовується для інших ОС Linux / unix, і альтернативи цьому немає, але може бути для superuser.apk. Чому ви хочете альтернативи?
kyrias

3
Мені просто цікаво, оскільки у цих файлах, хоча вони і благословенні спільнотою з відкритим кодом, схоже, немає стандартів будь-якого типу (тобто офіційно не Google). Отже, це спонукає мене думати, що можливо для інших людей створювати інші варіанти тих самих файлів. Особисто для мене я хочу точно знати, що я використовую і розміщувати в своєму пристрої, а не покладатися на рішення інших, де я не можу зі 100% впевненістю знати, що містять файли.
kaspnord

11

Вихідний код для суперкористувача доступний на GitHub, основний автор суперкористувача є Адам Живці ( ChainsDD ) і Koushik Датт ( Коуш , також автор Clockwork Recovery).

Кушик Дутта пояснив у своєму блозі, як працює Superuser.apk ; зауважте, що публікація з самого раннього втілення програми Superuser, багато чого змінилося з тих пір, і деякі з написаних там вже не є правильними для сучасного впровадження супер-сервера / су, але основи повинні бути такими ж.

І su, і Superuser, безумовно, можуть бути замінені альтернативами, але це насправді не зробить багато, оскільки засоби, які використовує su (тобто системні виклики exec () та setuid (), доступні для будь-яких виконуваних файлів, враховуючи, що виконуваний файл мав належний біти дозволу (тобто встановлений біт встановлення root). По суті, su - дуже проста програма, вона просто породжує процес як інший користувач; реальна перевірка безпеки проводиться ядром.

Отже, доки ви отримуєте офіційне, немодифіковане додаток су і суперпользователя, і вони встановлені належним чином з належним дозволом, вам не потрібно нічого турбуватися, вони з відкритим кодом і безпечні, ви можете перевірити джерело зашифруйте себе в github. Однак, безумовно, можна придбати трояновий суперрусер / двійковий код, тому переконайтесь, що куди б ви не дісталися, ваш суперрузер / су бінарний файл є надійним (або складіть su / superperuser, якщо ви справді параноїк).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.