Pull to refresh

Получение root доступа к смарт-телевизорам LG на ОС webOS

Reading time4 min
Views53K
Обновление поста от 04.11.2022 г.
LG заблокировала данный способ получения рута, новый вариант доступен тут.

Наверное, многие слышали про получение рут доступа к девайсам на Android. Благодаря ему вы можете существенно расширить возможности мобильных устройств на этой ОС. А вот про рут доступ к телевизорам LG мало кто слышал. Так вот, на днях энтузиасты выложили инструкцию по получению рут доступа к телевизорам LG на операционной системе webOS версий 1.0-3.0. Сама инструкция под катом, а для начала хочу напомнить, что мобильная ОС webOS была разработана еще компанией Palm (если кто помнит такую:) для своих смартфонов и планшетов и базируется на ядре Linux с «самописной» графической оболочкой.


Предостережения
Хочу предупредить, что в случае возникновения проблем с телевизором, в сервисном центре вам могут отказать в гарантийном обслуживании. Можно нанести вред устройству или сделать его неработоспособным. Если вы не продвинутый пользователь и толком не знаете зачем вам нужны Root-права, настоятельно рекомендуется их не получать, т.к. всегда есть шанс получить «кирпич», либо изменить настройки, которые повлекут проблемы в работе.

Для получения рута вам нужно будет загрузить на телевизор специальный скрипт. Аудит работы скрипта и инструкции можно почитать тут (англ.).

Если вы имели дело с Linux-системами, ничего сложного в процедуре получении рута в webOS нет. Для его получения понадобятся: телевизор с webOS, подключенный к сети, компьютер (подключенный к этой же сети), учетная запись разработчика на сервере LG.

  1. Первым делом создайте учетную запись разработчика (если отсутствует) на сервере developer.lge.com (инструкция /англ./).
  2. Установите в телевизоре из каталога приложений LG Store приложение Developer Mode. Запустите его, введите логин/пароль из предыдущего пункта, включите переключатели Dev Mode Status и Key Server. Телевизор перезагрузится и будет готов к дальнейшим манипуляциям (инструкция /англ./).
  3. Установите на компьютер webOS SDK (только компонент SDK-CLI) отсюда http://webostv.developer.lge.com/sdk/download/download-sdk/, проще всего с помощью интернет-установщика (файл «Ваша_ОС_Installer»).
    Запустите webOS TV CLI.
    В открывшемся окне наберите ares-setup-device и нажмите «ввод». Выберите add.
    ares-setup-device
    
    name deviceinfo connection profile
    -------- ------------------------ ---------- -------
    emulator developer@127.0.0.1:6622 ssh tv
    ** You can modify the device info in the above list, or add new device.
    ? Select: (Use arrow keys)
    > add
    modify
    remove

    Введите информацию о ТВ по следующему образцу (10.123.45.67 — укажите IP-адрес вашего ТВ):
    ** You can modify the device info in the above list, or add new device.
    ? Select: add
    ? Enter Device Name: tv2
    ? Enter Device IP address: 10.123.45.67
    ? Enter Device Port: 9922
    ? Enter ssh user: prisoner
    ? Enter description: new device
    ? Select authentification: password
    ? Enter password:
    ? Save ? Yes
    name deviceinfo connection profile
    -------- -------------------------- ---------- -------
    tv2 prisoner@10.123.45.67:9922 ssh tv
    emulator developer@127.0.0.1:6622 ssh tv

    После добавления ТВ проверьте результат, выполнив следующую команду:
    ares-setup-device -list

    Получите файл ключа с ТВ с помощью следующей команды:
    ares-novacom --device tv2 --getkey

    При запросе Passphrase нужно ввести 6-символьный пароль (регистр важен!), который отображается в приложении Developer Mode на ТВ.
    input passphrase [default: webos]:

    Проверьте соединение ПК с ТВ следующей командой:
    ares-install --device tv2 --list
  4. Скачайте файл zalil.su/6937580, переименуйте его в root.
  5. С помощью puttygen.exe сделайте import key ранее полученного с ТВ ключа, затем save private key. Установите WinSCP отсюда winscp.net/eng/download.php, запустите и вводите IP адрес вашего ТВ, порт 9922, далее укажите ключ тут «Еще -> SSH -> Аутентификация -> Файл закрытого ключа». Далее «Соединение -> Открыть терминал (Ctrl+T)». В правом окошке откроется содержимое ТВ, скопируйте туда из левого окна файл root. Все, WinSCP больше не понадобится, можно его закрыть.
  6. Теперь для соединения с ТВ нам понадобится Linux-приложение ssh. Если на ПК установлен не Linux, а Windows XP,7,8 — скачайте и установите Сygwin (UNIX-подобная среда и интерфейс командной строки для Microsoft Windows), не забыв про компонент openssh.
    image
    Если на ПК стоит Win10, то проще всего использовать подсистему Linux в Windows 10
  7. Запустите Cygwin64 Terminal и выполните следующую команду:
    ssh -i tv_webos_key prisoner@192.168.x.x -p 9922

    где tv_webos_key — имя файла ключа, 192.168.x.x — IP-адрес ТВ
  8. Выполните команды:
    chmod +x root
    ./root

    Скрипт начнет выполнять свои действия, ждем пока не появится надпись:
    try install any app from market
  9. Возьмите пульт и попробуйте установить любое приложение из магазина приложений на ТВ — выдаст ошибку. А скрипт в свою очередь должен написать
    third stage ok.
    try get root - input password 1111
    Password: 
    
  10. Введите пароль 1111.
    Всё, рут получен!
  11. Проверить можно набрав id — выдаст:
    uid=0(root) gid=0(root)........


    Такой рут — временный — до перезагрузки. Для получения постоянного рута выполните эту инструкцию.
  12. Чтобы попасть в главную rootfs набираем —
    busybox chroot /proc/1/root

    И можно почитать следующий пост:
    webos-forums.ru/post54464.html#p54464

    Полезные советы:

    1. vim лучше через ssh не использовать. Есть проблемы с битностью передачи сигналов некоторых клавиш, по крайней мере в Windows и на webOS 1.4.
    2. Лучше всего перекладывать нужные файлы для редактирования в /tmp/
      cp somefile /tmp/somefile
    3. Если выдает ошибку при скачке через WinSCP, то поменять права на файл
      chmod 607 /tmp/somefile
    4. Далее локально на своем ПК редактировать, обратно положить файл в /tmp/и перезаписать старый
      cp /tmp/somefile somefile
    5. В конце команды
      ssh -i tv_webos_key prisoner@192.168.x.x -p 9922
      добавить опцию
      "/bin/sh -i"
      (с ковычками), чтобы была интерактивная сессия.
    6. Всё, что кладётся в /tmp/, после выключения ТВ удаляется.


    Всем бобра!

    Собственно, сам оригинал инструкции от автора.

    С помощью данных Root-прав можно, например, автоматически запускать нужное вам приложение при включении телевизора.
Tags:
Hubs:
0
Comments2

Articles