
приложение, которое портирует CVE-2019-2215 на arm32 и монтирует бинарный файл su в /sbin с денлистом + установщиком приложений с root-правами. Включает руководство по firehose/Magisk
Root-доступ для Sonim XP3800. Доступно два метода — выбирайте тот, который подходит для вашей ситуации.
Приложение Root Manager использует уязвимость CVE-2019-2215 (binder use-after-free в ядре) для получения root непосредственно на устройстве. Не нужен компьютер, разблокировка загрузчика или прошивка. Бинарный файл эксплойта — это порт под ARM32, созданный с нуля для ядра 3.18.71 XP3800 — каждое смещение структуры ядра было получено путем реверс-инжиниринга бинарного файла ядра устройства.
Установите APK через ADB (XP3800 блокирует установку APK с самого устройства), нажмите «Установить», и root постоянно записывается в /system/bin/su. Root сохраняется после перезагрузок без службы автозагрузки или фонового процесса — бинарный файл просто находится там, как любая другая системная команда.
adb install RootManager.apk
При первом вызове su после загрузки запускается эксплойт ядра (~1,2 секунды) и порождается постоянный root-демон. Каждый последующий вызов su мгновенно подключается к демону (~0,13 секунды) — без эксплойта, без манипуляций с ядром. Демон входит в пространство имен PID 1 через setns(), поэтому команды имеют полный доступ к файловой системе, включая /system.
Эксплойт сериализуется с помощью flock(), чтобы предотвратить одновременный запуск (что привело бы к панике ядра), и при неудаче повторяется до 3 раз.
su постоянно устанавливается в /system/bin. Ни tmpfs, ни приемника загрузки, переживает перезагрузки и сброс к заводским настройкам./system — обычная ext4, свободно перемонтируемая в режим чтения-записи. Изменения сохраняются после перезагрузок.com.verizon.mdm.basicphone статуса владельца устройства и отключить (или восстановить). См. Удаление Verizon MDM. Автор: @anonymousfliphonesoom_score_adj = -1000). См. Демон.su. Фильтр по пользовательским/системным/всем, поиск по имени или пакету.Бинарный файл su имеет встроенный черный список. По умолчанию любое приложение может использовать su, если оно не в черном списке. Управляйте черным списком с главного экрана приложения — установите флажок рядом с приложением, чтобы заблокировать его.
Termux и ADB shell (uid 2000) всегда разрешены независимо от черного списка. Поддерживаются записи с подстановочными знаками, например com.example.*.
Альтернатива — прошивка модифицированного образа загрузки через режим EDL от Qualcomm и QFIL.
Важные детали:
dd, когда получите root. Не загружайте образы загрузки из интернета — другие версии или версии прошивки могут не соответствовать вашему устройству и не загрузиться.XP3800 не имеет dm-verity — раздел /system представляет собой обычную файловую систему ext4 без проверки целостности. Флаг androidboot.veritymode=enforcing установлен в командной строке ядра, но является полной заглушкой: нет устройств dm-verity, нет раздела vbmeta и нет хеш-дерева.
su -c "mount -o remount,rw /system"
# внесите свои изменения
su -c "mount -o remount,ro /system"
Изменения сохраняются после перезагрузок. Будьте осторожны с тем, что удаляете — удаление неправильного системного файла может привести к бесконечной загрузке устройства.
Требуется Termux с aapt2, ecj, d8, apksigner, zip и ~/.android/{android.jar,framework-res.apk,debug.keystore}.
./build.sh
Результат: RootManager.apk
Эксплойт и его реализация подробно описаны:
Это программное обеспечение предоставляется «как есть» без каких-либо гарантий. Автор не несет ответственности за кирпичи, поломки или иные повреждения устройств. Используйте на свой страх и риск.
| Команда | Описание |
|---|
su | Интерактивная root-оболочка (сохраняет окружение вызывающего) |
su -c 'команда' | Выполнить команду как root (использует системную оболочку и PATH) |
su команда | То же, что и -c |
su -p -c 'команда' | Выполнить команду с сохранением полного окружения вызывающего |
su --preserve-environment -c 'команда' | То же, что и -p |
su -s bash -c 'команда' | Указать оболочку |
su --daemon | Запустить root-демон вручную (требуется root) |
su --mount-master | Принято для совместимости (бездействие — демон уже имеет полное пространство имен монтирования) |
su -v | Подробный вывод эксплойта |