Реклама показывается только незарегистрированным пользователям. Вход или Регистрация

Как получить Root права на webOS 1.0-3.0

Обсуждение телевизоров LG на webOS

Модератор: mixmar

Как получить Root права на webOS 1.0-3.0

Сообщение sekil » 14 фев 2017, 07:12

Как получить Root права на телевизорах с webOS 1.0-3.0.


Что такое Root-права на Android слышали многие, но далеко немногие знают, что Root-права можно получить и на телевизорах с webOS. Ознакомьтесь с нашей инструкцией, чтобы узнать, как получить рут права на тв с вебОС.

Что такое Root-права?
Термин Root-прав - одно из понятий Linux, который лежит в основе ядра webOS. Root - это название учетной запись главного администратора, или Superuser'а. Имея доступ к этой учетной записи вы автоматически получаете полный контроль над операционной системой с возможностью настройки вашего телевизора в соответствии со своими предпочтениями. С помощью Root-прав можно, например, автоматически запускать нужное вам приложение при включении телевизора.

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

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

  1. Первым делом создайте учетную запись разработчика (если отсутствует) на сервере http://developer.lge.com/ (инструкция /англ./).
  2. Установите в телевизоре из каталога приложений LG Store приложение Developer Mode. Запустите его, введите логин/пароль из предыдущего пункта, включите переключатели Dev Mode Status и Key Server. Телевизор перезагрузится и будет готов к дальнейшим манипуляциям (инструкция /англ./).
  3. Установите на компьютер webOS SDK (только компонент SDK-CLI) отсюда http://webostv.developer.lge.com/sdk/do ... nload-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. Скачайте файл http://zalil.su/6937580, переименуйте его в root.
  5. С помощью puttygen.exe сделайте import key ранее полученного с ТВ ключа, затем save private key. Установите WinSCP отсюда https://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.

    Если на ПК стоит 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
И можно почитать следующий пост:
sekil @ Как получить Root права на webOS 1.0-3.0

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

  1. vim лучше через ssh не использовать. Есть проблемы с битностью передачи сигналов некоторых клавиш, по крайней мере в Windows и на webOS 1.4.
  2. Лучше всего перекладывать нужные файлы для редактирования в /tmp/
    Код: Выделить всё
    cp somefile /tmp/somefile

    Если выдает ошибку при скачке через WinSCP, то поменять права на файл
    Код: Выделить всё
    chmod 607 /tmp/somefile

    Далее локально на своем ПК редактировать, обратно положить файл в /tmp/и перезаписать старый
    Код: Выделить всё
    cp /tmp/somefile somefile
  3. В конце команды
    Код: Выделить всё
    ssh -i tv_webos_key prisoner@192.168.x.x -p 9922
    добавить опцию
    Код: Выделить всё
    "/bin/sh -i"
    (с ковычками), чтобы была интерактивная сессия.
  4. Всё, что кладётся в /tmp/, после выключения ТВ удаляется.

Как добавить приложение в автозагрузку, чтобы при включении ТВ оно автоматически запускалось?
Разберем на примере ForkPlayer.
Код: Выделить всё
busybox chroot /proc/1/root
ls -l /media/cryptofs/apps/usr/palm/applications/
Ищете папку форкплеера
Если нашли делаете:
Код: Выделить всё
cat /media/cryptofs/apps/usr/palm/applications/папка_форк_плеера/appinfo.json

Ищете надпись типа:
Код: Выделить всё
"id":"es.ottplayer.widget"

Это у меня ottplayer.
Запоминаете копируете надпись после "id" (без кавычек)
Затем при помощи редактора vim редактируете файл
Код: Выделить всё
/media/cryptofs/apps/usr/palm/services/com.palmdts.devmode.service/start-devmode.sh

Добавив после #!/bin/sh строку типа:
Код: Выделить всё
luna-send -n 1 -f luna://com.webos.applicationManager/launch '{"id": "com.webos.app.mystarter", "params":{}}'

Только вместо com.webos.app.mystarter вписываете свой id форк плеера.
Всё
Если не знаете как пользоваться vim - учитесь :)
Последний раз редактировалось sekil 31 июл 2017, 16:02, всего редактировалось 3 раз(а).

За это сообщение автора sekil поблагодарили: 2
Benjamin (12 июл 2017, 16:22), sergok (08 июл 2017, 10:33)
sekil

 
Сообщения: 45
Зарегистрирован: 14 фев 2017, 04:45
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Телевизор: uh619

Как получить Root права на webOS 1.0-3.0

Спонсор » 14 фев 2017, 07:12

Реклама показывается только незарегистрированным пользователям. Войти или Зарегистрироваться
Спонсор

 
Сообщения: 100
Зарегистрирован: 15 июл 2014, 14:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: root shell webos 3.0

Сообщение Bakugan » 14 фев 2017, 07:53

Очень интересно. Может поделитесь фотками или инструкциями? Вообще расскажите подробнее, пока никому вроде не удавалось сделать такое.
Bakugan

 
Сообщения: 1686
Зарегистрирован: 07 окт 2010, 17:52
Благодарил (а): 33 раз.
Поблагодарили: 172 раз.
Телефон: Palm Pre 2
Планшет: HP TouchPad Wi-Fi 16Gb

Re: root shell webos 3.0

Сообщение sekil » 14 фев 2017, 08:42

Подробнее там так.
Вот схема партиций:

Код: Выделить всё
part1: 00000000 00040000 "secureboot"
part2: 00180000 000c0000 "boot"
part3: 00100000 00040000 "partinfo"
part4: 00140000 00040000 "mapbak"
part5: 00040000 000c0000 "boot"
part6: 00240000 01400000 "swue"
part7: 01640000 01400000 "swue"
part8: 02a40000 00040000 "emergency"
part9: 02a80000 00040000 "crc32info"
part10: 02ac0000 00040000 "macadr"
part11: 02b00000 00040000 "env_nvm"
part12: 02b40000 00080000 "widevine"
part13: 02bc0000 00080000 "idfile"
part14: 02c40000 00080000 "cert"
part15: 02cc0000 00600000 "authcxt"
part16: 032c0000 00800000 "nvram"
part17: 03ac0000 00040000 "marlin"
part18: 03b00000 00400000 "xcas"
part19: 03f00000 00080000 "sestore"
part20: 04f00000 00080000 "sedata"
part21: 04000000 00f00000 "kernel"
part22: 03f80000 00080000 "sedata"
part23: 05000000 00f00000 "kernel"
part24: 05f00000 00080000 "logo"
part25: 05f80000 00200000 "hwsetting"
part26: 06180000 00100000 "pmsfw"
part27: 06280000 30f00000 "rootfs"
part28: 37180000 03900000 "tvservice"
part29: 3aa80000 00c00000 "bspfw"
part30: 3b680000 01900000 "bsppart"
part31: 3cf80000 03c00000 "otncabi"
part32: 40b80000 00100000 "otycabi"
part33: 40c80000 04300000 "fonts"
part34: 44f80000 014c0000 "smartkey"
part35: 46440000 00c00000 "tzfw"
part36: 88300000 00200000 "license"
part37: 47240000 00200000 "hwsetting"
part38: 47440000 00100000 "pmsfw"
part39: 47540000 30f00000 "rootfs"
part40: 78440000 03900000 "tvservice"
part41: 7bd40000 00c00000 "bspfw"
part42: 7c940000 01900000 "bsppart"
part43: 7e240000 03c00000 "otncabi"
part44: 81e40000 00100000 "otycabi"
part45: 81f40000 04300000 "fonts"
part46: 86240000 014c0000 "smartkey"
part47: 87700000 00c00000 "tzfw"
part48: 47040000 00200000 "license"
part49: 88500000 00080000 "profdata"
part50: 88580000 0c800000 "hib"
part51: 94d80000 00080000 "hist"
part52: 94e00000 07000000 "db8"
part53: 9be00000 20000000 "data"
part54: bbe00000 28a00000 "apps"


Вот CMDLINE=
Код: Выделить всё
console=ttyS0,9600 console=ttyUSB0,9600 uartclk=98M envp=b4100 flashtype=emmc reclaim=7M@32M quiet loglevel=0 ac_on emmc_clock=200 root=/dev/mmcblk0p27 ro rootfstype=squashfs ethaddr=XXXXXXXXXXX quiet loglevel=0 rtdlog=2800 devtmpfs.mount=1 modelopt=10100100010 hwopt=202200002202002020 ToolOpt=99562:525346:295186:64793:50436:134780:655503:0:67600 debugMode=5 countryGrp=4 modelName=43UH619V-ZC serialNum=XXXXXXXXXX sver=1.01.79 bver=1.01.91 chip=K2LPA0 emmc_size=0x0e9000000 snapshot resume=/dev/mmcblk0p50 portProtection cmdEnd


uname -a

Код: Выделить всё
Linux LGwebOSTV 3.10.19-p.36.deua.k2lp.11 #1 SMP Mon Oct 24 12:27:23 KST 2016 armv7l GNU/Linux


Процессор RTD299o 4x ядерный armv7l

Как видно rootfs монтируется как squashfs и в режиме read only. Поменять врятли что получится напрямую. Только если сделать дамп в дампе поменять и залить дамп обратно в /dev/mmcblk0p27

Режим devmode запускает сервис sshd в своем оркужении через jailer (пакет webos-jail что то типа chroot)
сервис слушает порт 9922 и логин prisoner - это все на сайте lg web os developer есть..

Вот по этому порту и логину можно подключиться по ssh (использую ключ, который тянется с тв)
Правда после подключения имеет priosner@notty - т.е. без tty. но команды выполнять и так можно от пользователя prisoner. Зато можно всю файловую систему просмотреть через SFTP клиент любой.
Вот и закачиваем на сервер в папку /media/developer експлоит который правит файл /etc/passwd.
И можно логиниться под рутом.

За это сообщение автора sekil поблагодарили: 2
Архивариус (14 фев 2017, 13:38), t00 (14 фев 2017, 10:37)
sekil

 
Сообщения: 45
Зарегистрирован: 14 фев 2017, 04:45
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Телевизор: uh619

Re: root shell webos 3.0

Сообщение Bakugan » 14 фев 2017, 09:59

При попытке сконнектится с телевизором через Putty (с логином prisoner) выдает ошибку "Disconnected: No supported authentication methods available (server sent: publickey,keyboard-interactive)".
Bakugan

 
Сообщения: 1686
Зарегистрирован: 07 окт 2010, 17:52
Благодарил (а): 33 раз.
Поблагодарили: 172 раз.
Телефон: Palm Pre 2
Планшет: HP TouchPad Wi-Fi 16Gb

Re: root shell webos 3.0

Сообщение sekil » 14 фев 2017, 10:07

я ж писал авторизация возможно только по ключу.
Ключ нужно вытянуть и сохранить
http://webostv.developer.lge.com/develop/app-test/

сначала
ares-setup-device
add
...
....
..
...

затем

ares-novacom --device имя_которое_дали_тв --getkey

Затем полученный ключ нужно использовать в putty для подключения к ТВ
sekil

 
Сообщения: 45
Зарегистрирован: 14 фев 2017, 04:45
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Телевизор: uh619

Re: root shell webos 3.0

Сообщение Bakugan » 14 фев 2017, 10:41

Ключ вытянул и сохранил в папку к Putty. Зашел в Putty->Connection->SSH->Auth и выбрал путь к сохранённому ключу.
Запускаю Putty и получаю ошибку: Unable to use key file "C:\Program Files (x86)\PuTTY\tv2_webos" (OpenSSH SSH-2 private key)
Bakugan

 
Сообщения: 1686
Зарегистрирован: 07 окт 2010, 17:52
Благодарил (а): 33 раз.
Поблагодарили: 172 раз.
Телефон: Palm Pre 2
Планшет: HP TouchPad Wi-Fi 16Gb

Re: root shell webos 3.0

Сообщение sekil » 14 фев 2017, 10:54

Нужно скачать puttykeygen в нем сделать import key вашего ключа
Затем save private key
И полученный ppk указать там где вы указали в auth
sekil

 
Сообщения: 45
Зарегистрирован: 14 фев 2017, 04:45
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Телевизор: uh619

Re: root shell webos 3.0

Сообщение Bakugan » 14 фев 2017, 10:59

Сдалал, логинюсь, отбивает.
Код: Выделить всё
login as: prisoner
Authenticating with public key "imported-openssh-key"
Passphrase for key "imported-openssh-key":
Server refused to allocate pty
Bakugan

 
Сообщения: 1686
Зарегистрирован: 07 окт 2010, 17:52
Благодарил (а): 33 раз.
Поблагодарили: 172 раз.
Телефон: Palm Pre 2
Планшет: HP TouchPad Wi-Fi 16Gb

Re: root shell webos 3.0

Сообщение sekil » 14 фев 2017, 11:14

ага.. я так понял Putty не умеет без pty работать.. я в линуксе все это делаю через ssh - ему все равно он создает псевдо терминал..

Если есть линукс пробуйте там если нет я поищу сейчас способ в windows как сделать...

p.s. в линуксе можно использовать ключ изначальный (не конвертированный в ppk)

Добавлено спустя 37 минут 32 секунды:

Мдя..
Способ через winscp.
Качаем winscp
Запускаем, импортируем подключения из putty.
В меню жмем команды-открыть терминал.. в первый раз должен выдать ошибку что нужно переподключиться - переподключаемся и пробуем опять открыть терминал.. должен открыться и можно работать..
sekil

 
Сообщения: 45
Зарегистрирован: 14 фев 2017, 04:45
Благодарил (а): 3 раз.
Поблагодарили: 19 раз.
Телевизор: uh619

Re: root shell webos 3.0

Сообщение Bakugan » 14 фев 2017, 12:07

Установил Winscp, импортировал соединения из Putty. При попытке подключения:

Код: Выделить всё
Протокол авторизации (подробности см. в журнале соединения:)
Аутентификация публичным ключом "imported-openssh-key".
Аутентификация не пройдена.
Bakugan

 
Сообщения: 1686
Зарегистрирован: 07 окт 2010, 17:52
Благодарил (а): 33 раз.
Поблагодарили: 172 раз.
Телефон: Palm Pre 2
Планшет: HP TouchPad Wi-Fi 16Gb

След.

Вернуться в webOS-телевизоры - Обсуждение



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

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