Как изменить файл hosts через ADB?

robengo

Client
Регистрация
21.03.2023
Сообщения
130
Благодарностей
23
Баллы
18
Пытаюсь изменить файл /system/etc/hosts

C#:
adb shell push "D:\hosts" /system/etc/hosts
В результатах получаю вот что: /system/bin/sh: push: inaccessible or not found
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
474
Благодарностей
372
Баллы
63

robengo

Client
Регистрация
21.03.2023
Сообщения
130
Благодарностей
23
Баллы
18
C#:
adb push "D:\hosts" /system/etc/hosts
Раздел /system обычно смонтирован в режиме только для чтения.
Так тоже не срабатывает. Если захожу через тотал командер и даю рут ему то спокойно редактирую, а через adb никак
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
474
Благодарностей
372
Баллы
63
Какая ошибка теперь?

Раздел перемонтировать надо.
mount -o remount,rw /system

Да и вряд ли у shell хватит прав сразу закидывать файлы в /system
 

robengo

Client
Регистрация
21.03.2023
Сообщения
130
Благодарностей
23
Баллы
18
Какая ошибка теперь?

Раздел перемонтировать надо.
mount -o remount,rw /system

Да и вряд ли у shell хватит прав сразу закидывать файлы в /system
mount: '/system' not in /proc/mounts

Пробовал на разных телефонах с андроид 11 и 12
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
474
Благодарностей
372
Баллы
63
mount: '/system' not in /proc/mounts
Если через Total можно перемонтировать и появляются права на запись, то нужно посмотреть куда смонтирован /system/etc/hosts

cat proc/mounts | grep /system/etc/hosts
если пусто
cat proc/mounts | grep /system/etc

cat proc/mounts | grep /system/etc/hosts
Вывод /dev/root /system/etc/hosts ext4 ro,seclabel,nodev,relatime 0 0
Монтируем на запись
su -c 'mount -o remount,rw /system/etc/hosts'

cat proc/mounts | grep /system/etc/hosts
Вывод /dev/root /system/etc/hosts ext4 rw,seclabel,nodev,relatime 0 0 (должно быть rw)

Отправляем hosts во временную папку.
adb push "D:\hosts" /data/local/tmp/hosts

Смотрим разрешения (на всякий случай, если поломаем неудачными действиями)
su -c 'ls -laZ /system/etc/hosts'
Вывод -rw-r--r-- 1 root root u:object_r:system_file:s0 56 2009-01-01 07:00 /system/etc/hosts

Копируем файл в нужное место
su -c 'cp /data/local/tmp/hosts /system/etc/hosts'

Проверяем, что ничего не поломали. У файла такие же разрешения, изменился только размер и дата.
su -c 'ls -laZ /system/etc/hosts'
Вывод -rw-r--r-- 1 root root u:object_r:system_file:s0 76 2023-10-23 18:37 /system/etc/hosts

Если не получится, пришлите вывод cat proc/mounts , лучше файлом/под спойлер, много текста обычно.
 
Последнее редактирование:
  • Спасибо
Реакции: robengo

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)