3

Я пытаюсь получить root-доступ к своему китайскому планшету x86. С адб у меня есть рут. Я скопировал двоичный файл "sh" и установил бит setuid, и из adb он работает как положено:

1|shell@x98air3g_c5j8:/ $ which su.sh
/system/xbin/su.sh
shell@x98air3g_c5j8:/ $ ls -al /system/xbin/su.sh
-rwsr-sr-x root     shell      395004 2016-01-02 17:39 su.sh
shell@x98air3g_c5j8:/ $ mount | grep system
/dev/block/by-name/system /system ext4      ro,seclabel,noatime,data=ordered 0 0
shell@x98air3g_c5j8:/ $ su.sh
# 

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

Что мешает биту setuid работать? Нет флагов монтирования "nosuid", и я попытался отключить selinux с помощью "setenforce permissive".

2 ответа2

2

Раздел /system монтируется с опцией "nosuid", что не позволяет приложениям Android выполнять программы setuid. Вы можете временно размонтировать и снова смонтировать с помощью опции suid:

adb shell mount -o rw,remount /system
0

http://www.androidauthority.com/android-4-3-new-security-features-253244/

Раздел /system теперь монтируется nosuid для процессов, порожденных зиготами, что не позволяет приложениям Android выполнять программы setuid.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .