Что такое superuser.apk и su?

Я много читал в укоренении устройств Android. Я действительно хочу точно знать, что происходит на каждом шагу, прежде чем я посвящу процесс.

Я немного смущен относительно того, откуда берутся файлы superuser.apk и su. Это не похоже, что они являются официальными файлами Google, а скорее файлами, созданными (случайным) человеком. Тем не менее, насколько безопасны эти файлы?

Из исследования у меня есть общее понимание их цели. Мне было интересно, знали ли кто-нибудь, что эти файлы (исполняемые файлы? Скрипты?), То, что они содержали и как они вообще работают.

Спасибо!

31 голос | спросил kaspnord 22 Jam1000000amSun, 22 Jan 2012 09:16:25 +040012 2012, 09:16:25

2 ответа


30

su (short для Switch User) - это двоичный исполняемый файл. Он используется Android и другими системами на основе nix, чтобы позволить процессу изменять учетную запись пользователя, с которой она связана. Причина, по которой важно с точки зрения rooting, состоит в том, что su без каких-либо других параметров переключится на пользователя root, что означает, что для процессов, требующих прав root для их функциональности, необходимо вызвать su (поскольку по умолчанию они не выполняются root).

Superuser - приложение для Android (.apk - пакет приложений для Android). Он работает как своего рода «привратник» в двоичном коде su. Приложения, которые пытаются вызвать su, будут вынуждены маршрутизировать через Superuser, после чего запрашивает у пользователя, является ли это неизвестным или новым приложением. Затем пользователь имеет возможность одобрить или запретить доступ к su и, при необходимости, Superuser запомнить их решение, чтобы он мог автоматически применять его для последующих вызовов этим приложением. При этом единственными приложениями, которым предоставляются права root, являются те, которые пользователь выбирает.

Источник обоих приложений доступен в Github и может быть проверен /проверен всеми, кто хочет посмотреть на него (Superuser здесь , su здесь ).

Вы можете найти более подробную информацию, а также изменить журнал - на веб-сайте суперпользователя .

Другие связанные вопросы для энтузиастов Android:

ответил eldarerathis 22 Jam1000000amSun, 22 Jan 2012 09:48:30 +040012 2012, 09:48:30
11

исходный код для суперпользователя доступен на github, основным автором Superuser являются Adam Shanks ( ChainsDD ) и Koushik Dutta ( koush , также автор Clockwork Recovery).

Koushik Dutta объяснил в своем блоге как работает Superuser.apk ; обратите внимание, что сообщение происходит с самого раннего воплощения приложения Superuser, с тех пор многое изменилось, и некоторые из того, что было написано там, больше не подходят для современной реализации суперпользователя /su, но основы все равно должны быть одинаковыми.

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

Итак, до тех пор, пока вы получаете официальное, немодифицированное приложение su и суперпользователя, и они установлены надлежащим образом с надлежащим разрешением, вам не о чем беспокоиться, они с открытым исходным кодом и безопасны, вы можете проверьте исходный код самостоятельно в github. Тем не менее, конечно, возможно получить троянный суперпользователь /су бинарный, поэтому убедитесь, что везде, где вы получаете свой суперпользователь /су бинарный, заслуживает доверия (или скомпилируйте su /superuser самостоятельно, если вы действительно параноик).

ответил Lie Ryan 28 Jam1000000amSat, 28 Jan 2012 10:30:16 +040012 2012, 10:30:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132