Получение прав root без эксплоита.

Прошивки и их моды\ Кухни\ Игры и приложения\ Различные настройки\ Различные вопросы по ОС Android и WM и т.п.

Модераторы: Lunat, pvsurkov, AlexG1, KSAT

Получение прав root без эксплоита.

Сообщение Ответ:#1 » cthusq » 09 апр 2012, 23:52

После покупки нового аппарата всплыла вечная проблема - получение root :-)
Все перепробованные методы получить root через эксплоит (superoneclick, unroot и т.д.) не принесли никакой пользы.
Пришлось крутится самому. Описываемый способ не использует уязвимости системы и (теоретически) может быть использован на любых ядрах.

Способ немного шаманский, но несмотря на это ищу летчиков-испытателей для тестов (мой телефон еще жив).

Все действия производились в Linux (Debian), можно использовать любой LiveCD.
Все не разжевываю, только основное. Описано получение root + busybox.

Подготовка:
Скачиваем и распаковываем get_root.tar – файлы и утилиты для получения root. Желательно распаковывать в linux, место распаковки на свой вкус :-)
Устанавливать SDK не нужно.
Все действия я производил под учеткой root.

Подключаем телефон к ПК (на телефоне должен быть включен режим откладки USB).
Переходим в каталог get_root (распакованный с архива).
Проверяем подключение телефона:
bin/adb devices

Должны увидеть что-то вроде
Изображение
Запускаем мой скрипт:
./make_sys.sh

Если все нормально, то скрипт будет работать около 8 минут и на выходе получим в текущем каталоге файл system.img - это наша рутированная прошивка.
Скрипт не выполняет проверку ошибок при исполнении, поэтому выполните
ls system

если вы увидели больше 3 каталогов - значить все ОК :smu:sche_nie:
Что-то типа этого
Изображение

Дальше нам осталось только прошить наш system.img на телефон.

Рут работает нормально. GScript без проблем делает дамп всей системы.

P.S. Если модель телефона новая и к ней нет файла scatter, то его можно тоже создать самому (я использовал scatter готовый). Кому надо – опишу как или попросите наших гуру.
В принципе делал все наобум. Но телефон запустился и рут есть – ждем глюков.

P.P.S. Для тех, кто будет выполнять действия осмысленно :smu:sche_nie:
В скрипте, я даю всей папке system права 06755, что не очень кошерно, но быстро.
Можно раздать нужные права вручную, главное что-бы у /system/bin/su и /system/xbin/busybox были права 06755.
В принципе, строку в скрипте
chmod -R 06755 ./system/*

можно заменить на
chmod -R 644 ./system/*
find ./system -type d -exec chmod 755 {} \;
chmod 755 ./system/bin/*
chmod 755 ./system/bin/.*
chmod 755 ./system/etc/dhcpcd/dhcpcd-run-hooks
chmod 755 ./system/etc/ppp/*
chmod 755 ./system/etc/init.goldfish.sh
chmod 755 ./system/vendor/bin/*
chmod 755 ./system/xbin/*
chmod 6755 ./system/bin/su
chmod 6755 ./system/xbin/busybox

так будет "культурнее", но если прошивка содержит нестандартные пути, то система может работать некорректно.
Вложения
get_root.tar
(1.16 МБ) Скачиваний: 601
  • 10

Аватара пользователя
cthusq
Пользователь
 
Сообщения: 212
Зарегистрирован: 29 апр 2010, 22:31
Откуда: Украина
Репутация: 97

Re: Получение прав root без эксплоита.

Сообщение Ответ:#2 » rua1 » 10 апр 2012, 12:47

идея хорошая, только вот при pull'е без рута из систем сливаются не все файлы
  • 0

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347

Re: Получение прав root без эксплоита.

Сообщение Ответ:#3 » cthusq » 10 апр 2012, 13:50

Сравнивал с дампом - вроде слились все.
Не все сливаються если скачивать всю систему, а если только папку system, то без проблем.

Смысл в том, что я рутанул свой телефон таким методом и у меня все нормально работает.

Для перестраховки, если есть несколько обладателей одной модели можно сделать так:
- кто-то один рутирует телефон этим способом, сливает дамп, по нему делают модифицированный recovery.
- через модифицированный recovery получают рут остальные и сливают чистый дамп :-):
  • 0

Аватара пользователя
cthusq
Пользователь
 
Сообщения: 212
Зарегистрирован: 29 апр 2010, 22:31
Откуда: Украина
Репутация: 97

Re: Получение прав root без эксплоита.

Сообщение Ответ:#4 » rua1 » 10 апр 2012, 14:00

cthusq писал(а):Не все сливаються если скачивать всю систему, а если только папку system, то без проблем.

да нет, именно из систем какие-то файлы не сливались у меня. Буду очередной раз рут тестить, гляну.
  • 0

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347

Re: Получение прав root без эксплоита.

Сообщение Ответ:#5 » linerty » 10 апр 2012, 15:43

cthusq писал(а):Для перестраховки, если есть несколько обладателей одной модели можно сделать так:- кто-то один рутирует телефон этим способом, сливает дамп, по нему делают модифицированный recovery.

Точнее так вообще нужно делать используя данный метод иначе можно получить много интересных проблем и на разных девайсах разные.
В чистом виде для широкого применения этот способ IMHO не годится.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 0

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Re: Получение прав root без эксплоита.

Сообщение Ответ:#6 » cthusq » 10 апр 2012, 16:11

linerty писал(а):В чистом виде для широкого применения этот способ IMHO не годится.


С этим спорить не буду, но если других вариантов взлома нет и ждать неохота, то очень даже подойдет :-)

Мой работает 3 дня - полет нормальный. :men:

Нужно просто нормально протестировать метод, а именно сравнить файлы полученные через adb pull и извлеченные из дампа.
  • 0

Аватара пользователя
cthusq
Пользователь
 
Сообщения: 212
Зарегистрирован: 29 апр 2010, 22:31
Откуда: Украина
Репутация: 97

Re: Получение прав root без эксплоита.

Сообщение Ответ:#7 » KOTwasya » 12 апр 2012, 19:29

cthusq, второй раз пробую данный метод на i9220...кроме рабочего наконец-то WiFi больше ничего не добился: в консоли рут не получаю,ESпроводник рут не получает..
Не комментирую и не разъясняю свои высказывания!!
MT6516, MT6573, MT6575, MT6589, MT6582, MT6592, Qualcomm, MT6752
Изображение
Изображение
ПАПКА ПОМОЩИ
  • 0

Аватара пользователя
KOTwasya
Гуру
 
Сообщения: 3589
Зарегистрирован: 24 май 2010, 09:13
Откуда: ЦФО
Репутация: 860

Re: Получение прав root без эксплоита.

Сообщение Ответ:#8 » cthusq » 12 апр 2012, 22:36

KOTwasya писал(а):cthusq, второй раз пробую данный метод на i9220...кроме рабочего наконец-то WiFi больше ничего не добился: в консоли рут не получаю,ESпроводник рут не получает..


Ну тогда не знаю :ne_vi_del:
Пробовал несколько раз на своем - получалось.

В принципе, достаточный минимум для рута:
- /system/bin/su
- /system/apk/Superuser.apk
- /system/xbin/su - символическая ссылка на /system/bin/su, хотя с этим не уверен, можно и без нее.

Но обязательное условие права 06755 на /system/bin/su!
  • 0

Аватара пользователя
cthusq
Пользователь
 
Сообщения: 212
Зарегистрирован: 29 апр 2010, 22:31
Откуда: Украина
Репутация: 97

Re: Получение прав root без эксплоита.

Сообщение Ответ:#9 » KOTwasya » 12 апр 2012, 23:24

cthusq, если команды
Код: Выделить всё
chmod 6755 ./system/bin/su
chmod 6755 ./system/xbin/busybox

правильно выставляют,то все ок тогда должно быть,но вот нифига. будто за меня кто-то отменяет предложение назначить права рут программам!
Не комментирую и не разъясняю свои высказывания!!
MT6516, MT6573, MT6575, MT6589, MT6582, MT6592, Qualcomm, MT6752
Изображение
Изображение
ПАПКА ПОМОЩИ
  • 0

Аватара пользователя
KOTwasya
Гуру
 
Сообщения: 3589
Зарегистрирован: 24 май 2010, 09:13
Откуда: ЦФО
Репутация: 860

Re: Получение прав root без эксплоита.

Сообщение Ответ:#10 » cthusq » 12 апр 2012, 23:42

Это как?
У меня с правами 755 Superuser работал, но выскакивала табличка, что приложению не задано прав суперпользователя.
Методом "тыка" поставил права 06755 и все закрутилось.

Нужно еще тестеров, может у меня прошивка особенная, или я где-то торможу :-)

Или как вариант, пусть кто-нибудь выложит свой system.img без рут (или с рут, потом почищу) и я попробую рутировать образ, а потом тестер его прошьет у себя.
  • 0

Аватара пользователя
cthusq
Пользователь
 
Сообщения: 212
Зарегистрирован: 29 апр 2010, 22:31
Откуда: Украина
Репутация: 97

Re: Получение прав root без эксплоита.

Сообщение Ответ:#11 » rua1 » 13 апр 2012, 01:09

вот кусок из скрипта заводской прошивки B63M
Код: Выделить всё
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
  • 0

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347

Re: Получение прав root без эксплоита.

Сообщение Ответ:#12 » cthusq » 13 апр 2012, 09:52

Если я правильно понимаю значения чисел, то:
первое число - владелец
второе число - группа
третье число - права

И некоторое службы запускаются от разных пользователей.

В принципе, набор файлов в разных телефонах практически одинаков, нужно просто слить ОРИГИНАЛЬНЫЙ system.img и посмотреть на права.
Я в своей теме попросил слить оригинальный дамп если кто получит телефон.

Если есть у кого-то заводской дамп - выложите.
  • 0

Аватара пользователя
cthusq
Пользователь
 
Сообщения: 212
Зарегистрирован: 29 апр 2010, 22:31
Откуда: Украина
Репутация: 97

Получение прав root без эксплоита.

Сообщение Ответ:#13 » sash-kan » 01 июн 2012, 23:58

приобрёл fly iq270 и начал разбираться, что же это за штука такая — dalvik/linux (aka android)·

под рукой нет windows, только gnu/linux, поэтому данный топик меня и заинтересовал·

мои заметки/соображения:
1. команда "adb pull /system ." (adb собран в sdk) не скопировала только один файл: /system/etc/dbus.conf (он принадлежит bluetooth:bluetooth, а permissions у него r--r-----)·
2. не копируются и пустые каталоги (рекурсивно, т.е., если внутри каталога лежат только пустые каталоги, он тоже будет пропущен), но мне кажется, что это несущественно·
3. permissions и ownerships можно получить, запустив для каждого каталога "adb shell ls -a -l <каталог>"·
4. "ls -a -l" выдаёт ownerships в текстовом виде (ключа "-n" местный ls не понимает)·
5. перевести имена в uid-ы/gid-ы можно, воспользовавшись содержимым system/core/include/private/android_filesystem_config.h из sdk·

всё это, конечно, достаточно элементарно, а вот на чём я споткнулся, читая первый пост:
> Дальше нам осталось только прошить наш system.img на телефон.

а как его прошить-то, не имея соответствующих прав?
  • 0

Аватара пользователя
sash-kan
Новичок
 
Сообщения: 7
Зарегистрирован: 01 июн 2012, 20:42
Репутация: 2

Получение прав root без эксплоита.

Сообщение Ответ:#14 » linerty » 02 июн 2012, 20:31

sash-kan писал(а) on 01 июн 2012, 23:58:а как его прошить-то, не имея соответствующих прав?
Программой Flashtool, которая под виндовс.
 Устройства
THL W3(DualCore) обзор.
Recovery для смартфонов MT6516/65x3/657x. Создание полного дампа прошивки смартфонов: MT6516 с ОС Android 2.2.x, MT65x3 с ОС Android 2.3.x, MT657x с ОС Android 2.3.x, 4.x.
  • 0

Аватара пользователя
linerty

Суперкуратор
 
Сообщения: 3442
Зарегистрирован: 25 фев 2011, 09:39
Репутация: 4401

Получение прав root без эксплоита.

Сообщение Ответ:#15 » sash-kan » 03 июн 2012, 04:36

linerty писал(а) on 02 июн 2012, 20:31:
sash-kan писал(а) on 01 июн 2012, 23:58:а как его прошить-то, не имея соответствующих прав?
Программой Flashtool, которая под виндовс.
windows, говорите? нет, не слыхал…

если серьёзно, то, насколько я успел начитаться, fastboot is my friend·
вот только лучшего, чем "waiting for device", я от него пока не дождался·
возможно, неправильно собираю, передавая не тот параметр "lunch"-у — "full-eng" (хотя adb-то при этом отлично работает)·
возможно, в неправильный момент запускаю·
возможно, соответсвующая функциональность в телефоне всё-таки отключена·

замедляется процесс разбирательства ещё и тем, что x86-машина у меня только на работе, а про существование mips64 в google, видимо, не слыхали: https://code.google.com/p/android/issues/detail?id=32591

возвращаясь к топику:
скриптик, который получит и расставит правильные permissions и ownerships файлам/каталогам (а симлинки сделает именно симлинками), я всё-таки напишу·
как до x86-машины доберусь·
  • 0

Аватара пользователя
sash-kan
Новичок
 
Сообщения: 7
Зарегистрирован: 01 июн 2012, 20:42
Репутация: 2

Получение прав root без эксплоита.

Сообщение Ответ:#16 » sash-kan » 05 июн 2012, 22:40

sash-kan писал(а) on 03 июн 2012, 04:36:
linerty писал(а) on 02 июн 2012, 20:31:
sash-kan писал(а) on 01 июн 2012, 23:58:а как его прошить-то, не имея соответствующих прав?
Программой Flashtool, которая под виндовс.

возможно, соответсвующая функциональность в телефоне всё-таки отключена·
судя по всему, так и есть: тот usb-интерфейс, что выскакивает при подключении кабеля к выключенному телефону (и во время перезагрузки при подключенном кабеле), протокола fastboot не понимает·

поискал исходники этого вашего flashtool-а — не нашёл·
плохо искал?

замедляется процесс разбирательства ещё и тем, что x86-машина у меня только на работе, а про существование mips64 в google, видимо, не слыхали: https://code.google.com/p/android/issues/detail?id=32591
по этому поводу я ещё поковыряю sdk·
вроде бы объективных причин не собираться под mips[64] быть не должно (ну, подправить мэйкфайлы, конечно, потребуется)·
разве что с jdk-еем непонятная ситуация:
1. в интернетах пишут, что с openjdk, вроде бы, sdk нормально собирается
2. и даже при сборке (под x86) мелькают надписи про то, что какие-то там java-фичи — sunjdk-специфичны и будут deprecated
3. но в то же время lunch без sunjdk сразу лапки кверху подымает и говорит, что жаба у меня не той системы…
подправить его (lunch), что ли? ладно, это пока можно отложить в долгий ящик…

скриптик, который получит и расставит правильные permissions и ownerships файлам/каталогам (а симлинки сделает именно симлинками), я всё-таки напишу·
как до x86-машины доберусь·
написал в виде мэйкфайла (мне так удобнее получилось): https://github.com/sash-kan/dls/tree/master/pullsystem

сделал образ из того, что в моём iq270 находится в каталоге /system: ftp://ftp.barak.in/pub/dl/
нет доступа к одному файлу /etc/dbus.conf (думаю, это совершенно не смертельно) и к lost+found (что, конечно, не удивительно):
/system/etc/dbus.conf: failed to copy '/system/etc/dbus.conf' to '/tmp/tmp.jSqoRYRxzv/system/etc/dbus.conf': Permission denied
/system/secro/lost+found/: opendir failed, Permission denied
/system/lost+found/: opendir failed, Permission denied
два lost+found потому, что в /system/secro примонтирован /dev/block/mtdblock7 ("secstatic")
unyaffs2 образ нормально распаковывает·

если у кого-то есть возможность и желание для теста залить этот образ на mt6573-based телефон, буду весьма признателен·
естественно, приветстуются и тесты работы скрипта на других телефонах·

предупреждение: в образ _ничего_ не добавлял, никаких su: все файлы as is·
добавить, конечно же, элементарно: мне-то нужен был чистовой образ /system·
  • 0

Аватара пользователя
sash-kan
Новичок
 
Сообщения: 7
Зарегистрирован: 01 июн 2012, 20:42
Репутация: 2

Получение прав root без эксплоита.

Сообщение Ответ:#17 » KOTwasya » 05 июн 2012, 22:56

sash-kan писал(а) on 05 июн 2012, 22:40:поискал исходники этого вашего flashtool-а — не нашёл·плохо искал?

ага, очень плохо! так плохо, что одни вы за пару дней не смогли сделать то,что туева куча народу пыталась сделать года два как минимум! стоит открыть книжку "Windows для чайника" и хоть ради прошивки телефончика воспользоваться сием чудом разочек! :co_ol:
sash-kan писал(а) on 05 июн 2012, 22:40:если у кого-то есть возможность и желание для теста залить этот образ на mt6573-based телефон, буду весьма признателен·естественно, приветстуются и тесты работы скрипта на других телефонах·предупреждение: в образ _ничего_ не добавлял, никаких su: все файлы as is·добавить, конечно же, элементарно: мне-то нужен был чистовой образ /system·

изобретать велик конечно круто, можно педальки на руль поставить, но то,что раздел SYSTEM слить можно и без вского гемора собрать на основе полученных файлов рабочий образ уже было доказано в первом посте, а вот вы попробуйте как раз зарутить этот самый образ и чтоб этот самый рут еще с бизибоксом функционировал как на теле, так и через ADB на ПК!
Не комментирую и не разъясняю свои высказывания!!
MT6516, MT6573, MT6575, MT6589, MT6582, MT6592, Qualcomm, MT6752
Изображение
Изображение
ПАПКА ПОМОЩИ
  • 0

Аватара пользователя
KOTwasya
Гуру
 
Сообщения: 3589
Зарегистрирован: 24 май 2010, 09:13
Откуда: ЦФО
Репутация: 860

Получение прав root без эксплоита.

Сообщение Ответ:#18 » sash-kan » 09 июн 2012, 17:30

KOTwasya писал(а) on 05 июн 2012, 22:56:
sash-kan писал(а) on 05 июн 2012, 22:40:поискал исходники этого вашего flashtool-а — не нашёл·плохо искал?

ага, очень плохо! так плохо, что одни вы за пару дней не смогли сделать то,что туева куча народу пыталась сделать года два как минимум!
т.е., исходников в публичном доступе нет·
а «туева хуча народу» (как вы выразились) не установила за два года, какими путями в публичный доступ попадают всё новые версии блоба, разрабатываемого, как я понимаю, для внутреннего употребления в mediatek и у его партнёров?

sash-kan писал(а) on 05 июн 2012, 22:40:если у кого-то есть возможность и желание для теста залить этот образ на mt6573-based телефон, буду весьма признателен·естественно, приветстуются и тесты работы скрипта на других телефонах·предупреждение: в образ _ничего_ не добавлял, никаких su: все файлы as is·добавить, конечно же, элементарно: мне-то нужен был чистовой образ /system·

изобретать велик конечно круто, можно педальки на руль поставить, но то,что раздел SYSTEM слить можно и без вского гемора собрать на основе полученных файлов рабочий образ уже было доказано в первом посте
ну, доказывать-то я ничего и не пытался, вы мне по ошибке чьё-то чужое стремление приписали·
я лишь слегка облагородил процесс копирования файлов — осуществил сохранение прав и принадлежности; благодаря fakeroot-у это можно делать и рядовому пользователю (я про компьютер, а не про телефон)·

а вот вы попробуйте как раз зарутить этот самый образ и чтоб этот самый рут еще с бизибоксом функционировал как на теле, так и через ADB на ПК!
наверно, я недопонимаю смысл, вложенный вами в словосочетание «зарутить образ»·
добавить файлики в образ перед его сборкой? это настолько элементарно, что даже не стоит обсуждения·
собрать /bin/su или /bin/busybox под архитектуру arm? не понимаю, в чём трудность: в конце концов, google вон целый sdk нарисовал, сводящий эту операцию вообще к бездумному следованию инструкции·
записать его на флэш в телефоне? ну, вот это уже посложнее задача: протокола fastboot мелькающее при включении usb-устройство не понимает·
т.е. для штатного (без разборки телефона) доступа к флэшу нужно либо достать исходники s.p.flash.tool-а, либо подсмотреть, как именно этот блоб общается с телефоном и самому реализовать данный процесс·

стоит открыть книжку "Windows для чайника" и хоть ради прошивки телефончика воспользоваться сием чудом разочек!
улыбнуло, спасибо·
за первый год использования gnu/linux я узнал об архитектуре windows гораздо больше, чем за предыдущие лет пять, потраченные на её использование и написание программ под неё же·
это действительно _очень_ сложная операционная система (скорее даже — переусложнённая)·
ну, это лирика, а на практике получается, что мне сейчас просто негде её поставить·
понятно, что если «загорится», куда-нибудь в virtualbox я её запихну (да, свободный лицензионный номер от windows xp на работе имеется), но у меня нет цели «срочно превратить купленный телефон во что-то эдакое», я всего лишь потихоньку-полегоньку разбираюсь с dalvik/linux-ом, а телефон тут лишь в качестве подспорья (я в него и sim-карту-то до сих пор не вставил)·

Добавлено спустя 3 часа 22 минуты 38 секунд:
linerty, KOTwasya
кстати, я правильно понимаю, что s.p.flash.tool от mediatek-а умеет лишь записывать информацию в телефонный флэш, но не умеет её оттуда читать?
  • 0

Аватара пользователя
sash-kan
Новичок
 
Сообщения: 7
Зарегистрирован: 01 июн 2012, 20:42
Репутация: 2

Получение прав root без эксплоита.

Сообщение Ответ:#19 » rua1 » 11 июн 2012, 13:53

Умеет, но плохо. Вываливается по первому чиху. На предыдущем своем теле не мог скачать ни один раздел целиком, там была туча бэд блоков. Сейчас на б79 читает все с начала и обламывается в первой трети систем. Бут считывается нормально , только в хвосте есть мусор.
з.ы. про возможность наличия исходников флештула в открытом доступе улыбнуло ;).
  • 0

Аватара пользователя
rua1

Разработчик
 
Сообщения: 1074
Зарегистрирован: 05 июл 2011, 16:32
Откуда: Тула
Репутация: 2347

Получение прав root без эксплоита.

Сообщение Ответ:#20 » maestrodan » 16 июн 2012, 14:14

а никто не думал исходники у алкатела попросить? прошу-то они выложили, почему б это нет?
 Гаджеты
  • 0

Аватара пользователя
maestrodan
Гуру
 
Сообщения: 3634
Зарегистрирован: 18 авг 2011, 00:06
Откуда: Ukraine, Kharkov
Репутация: 369

След.

Вернуться в Программная часть КПК

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

x

#{title}

#{text}