Про production build и root. Часть 2.

Android girl

Продолжаем первую часть статьи. Ссылка на первую часть есть выше.

Есть два метода, которые собственно и являются одними из методов получения root доступа на Android устройствах.

Первый и очевидный - отредактировать файл самой прошивки специальным образом и прошить её в устройство с компьютера. Так собственно и работают некоторые "рутовалки", которые прошивают "скрипт" из рекавери режима (на деле прошивают часть раздела).

Второй - очень старый эксплоит, он работал только в Android версий до 2.2 включительно. Он использует ошибку в ADB. Изначально ADB всегда запускается от root'а. А затем права сбрасываются. Вот кусок кода из этого старого ADB:

Код ADB

Из него следует, что он читает значение ro.secure. Если там стоит 1 (production build), только дальше по тексту кода права сбрасываются до уровня пользователя (setgid/setuid).

Эксплоит использовал простую особенность функций setuid/setgid - если нет ресурсов для смены владельца процесса, смена владельца не происходит. А проверки на это в коде ADB нет! Следовательно эксплоит просто занимал все ресурсы и потом перезапускал ADB. Бах, и он не смог понизить привилегии и остался с правами root. Получен временный root - можно дальше уже и постоянный делать.

Конечно второй метод уже давно устарел, но как говориться для исторической справки, да и вообще полезно будет знать как оно устроено в целом. Тем более, что про такие вещи по русски вы нигде не прочитаете. smiley

Надеюсь вам было интересно, а вопросы и подробности вы как всегда сможете сможете выяснить в комментариях!

Оцените статью: 
В среднем: 4.6 (проголосовало 34)

Комментарии (2)

Офигеть чётка

Так как или хотя бы какой файл отредактировать в первом способе?..

Добавить комментарий

Войти, используя один из провайдеров Google Account Yandex Mail.ru API Mail.ru Vkontakte Facebook Twitter Loginza MyOpenID WebMoney Rambler Flickr Last.fm Verisign AOL OpenID

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.