Суббота, 18.05.2024, 15:33
Все о телевидении через интернет
Главная | | Регистрация | Вход
Меню сайта
Категории раздела
Все о IPTV [11]
Все о IPTV, IPTV просмотр
IpTV программы [8]
программы просмотра IpTV на компьютере
Виджеты Смарт ТВ [29]
виждеты, используемые для просмотра телеканалов на СМАРТ ТВ
Все о телевизорах Смарт [64]
Все о телевизорах Смарт
Обзоры телевизоров LG Smart tv [10]
Обзоры телевизоров LG Smart tv
Обзоры теевизоров Samsung Smart tv [15]
Обзоры теевизоров Samsung Smart tv
Новости телевидения [43]
Новости телевидения
Обзоры телевизоров Smart других производителей [7]
Обзоры телевизоров Smart других производителей
FAQ [8]
FAQ по смарт телевизорам, руководства, статьи, инструкции
Мини-чат
Наш опрос
Как вы смотрите телевизор
Всего ответов: 20
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Календарь
«  Февраль 2015  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
232425262728
Поиск
Вход на сайт
Архив записей
Главная » 2015 » Февраль » 1 » Запускаем Ubuntu и смотрим Torrent и Torrent-TV прямиком на Samsung SmartTV
14:19
Запускаем Ubuntu и смотрим Torrent и Torrent-TV прямиком на Samsung SmartTV

 

 

Достаточно установить Виджет SamyGo, и он все сделает за вас!

Запускаем Ubuntu и смотрим Torrent и Torrent-TV прямиком на Samsung SmartTV

Что дает нам SamyGO?

  • Root-доступ на ТВ через Telnet
  • Виртуальную флешку, монтирование NFS, Samba, FTP на нее
  • Samba, FTP-серверы
  • Apache2 с PHP
  • rtorrent
  • Уйму веселья!

# -*- DISCLAIMER -*-
Все, что вы делаете со своим ТВ, вы делаете на свой страх и риск. Автор этой статьи не несет никакой ответственности за ваши действия.

Для моего ТВ (E-серия), мне необходимо было:

1. Установить Skype на ТВ и запустить его 1 раз
2. Скачать инсталлятор виджета SamyGo на флешку
3. Запустить его с флешки
4. ???
5. PROFIT!

Как они это сделали, демоны?

 

Уязвимость в функции FilePlugin.Copy, вызываемой через eval, которая позволяет копировать что угодно куда угодно. Скрипт берет и копирует подмененный libSkype.so, который умеет только запускать другой скрипт, и устанавливает сам виджет SamyGo.

Что же в виджете SamyGo?

var Main = { }

var Main = { 
}

var widgetAPI = new Common.API.Widget(); 
var tvKey = new Common.API.TVKeyValue();

Main.onLoad = function() { 
 alert("Main.onLoad()");
 widgetAPI.sendReadyEvent(); 
 document.getElementById("anchor").focus(); 

 var FilePlugin = document.getElementById("pluginObjectFile");
 var Param1="FilePlugin.Copy 
(\"/proc/self/cmdline\", \"$(sh /mtd_rwcommon/widgets/user/SamyGO/data/run.sh)/tmp/cmdline\")";
 eval(Param1); 
}

Main.keyDown = function() { 
 var keyCode = event.keyCode;
 alert("Main Key code : " + keyCode);

 switch (keyCode) {
 case tvKey.KEY_RETURN:
 break;
 }
} 
};

Ну это вообще пушка! Мы можем выполнять shell-команды из все той же функции, используя $()-синтаксис.
run.sh выполняет инсталляцию busybox и прочей мишуры, монтирует data.xfs, запускает telnetd и nc, который запускает sh при коннекте (если будут какие-то проблемы с /dev/pts и к telnet нельзя будет подключиться), запускает подобия init-скриптов.

Что внутри?

Внутри у нас 2-ядерный процессор с архитектурой ARMv7, с поддержкой NEON, я полагаю, семейства Cortex-A8, видео MALI 400, 512МБ оперативной памяти, ядро 2.6.35.13. В общем, довольно типичный «планшет» 2012 года.

cat /proc/cpuinfo

VDLinux#> cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 1794.04

processor : 1
BogoMIPS : 1794.04

Features : swp half thumb fastmult vfp edsp neon vfpv3 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0

Hardware : amber3
Revision : 0000
Serial : 0000000000000000

Ядро поддерживает SquashFS, FAT32, XFS, RFS (Самсунговская ФС, FAT32 + журналирование), NTFS (Драйвер tntfs от Tuxera). Есть поддержка модулей, в SamyGo поставляются несколько модулей ФС, FUSE загружается, а, например, ext2/3/4 — нет, т.к. в ядре нет символов для них.

На ТВ запущен самый обычный X-сервер с xf86-video-mali, за весь SmartTV отвечает 125-мегабайтный файл exeDSP (загружался в IDA PRO 17 минут до начала анализа), а вот со звуком интересней: alsa нет, и, похоже, exeDSP общается с /dev/system напрямую.

Что можно делать-то?

Да что угодно. Я лентяй, и стараюсь лишний раз не кросс-компилировать что-либо, поэтому просто взял Ubuntu Core, создал на флешке XFS-раздел, распаковал туда Ubuntu и вставил в ТВ. С armhf-версией были проблемы (всякие unknown instruction, там компилируют с thumb2?), поэтому нашел 12.04 armel.

Остается только вставить флешку в ТВ, подключиться по telnet и сделать:

chroot /dtv/usb/sda1 /bin/bash

И мы получим полноценную убунту 12.04.

mount –bind не работает, поэтому, если вам нужен proc и sys в chroot (а он вам будет нужен), используйте:

mount -t sysfs sysfs ./sys
mount -t proc proc ./proc

Первым делом, я, конечно же, поставил mplayer. И знаете, работает! Медленно, конечно, и из выводов только x11 работает, но показывает! Я посмотрел вчерашний опенинг с субтитрами и без звука ;)

 

Ну а дальше я решил поставить Ace Stream Engine и AceProxy для просмотра ТВ-стримов и Torrent прямо на ТВ. Для этого нам необходим Python, т.к. именно на нем написаны эти два продукта. Т.к. Ace Stream официально не выпускается для ARM, да и вообще, его разработчики несколько дикие, то мы возьмем распакованную версию для Raspberry PI, ну а AceProxy измоего репозитория

Собственно, нужные пакеты для Ace Stream написаны в ссылке, а для AceProxy нужен только python-gevent. Запускаем все это дело, можно даже открыть страницу статистики AceProxy во встроенном браузере ТВ:открыть страницу статистики AceProxy во встроенном браузере ТВ:

На удивление, Ace Stream не особо грузит процессор (где-то на 15% судя по top), так что его вполне можно использовать на ТВ.

Теперь остается только взять какой-нибудь плеер (nStreamLmod, например) и сделать плейлист для AceProxy.

Что-то еще?

Это все proof-of-concept. Я все это делал чисто из кратковременного интереса и, скорее всего, не буду продолжать дальше. Однако, если кто-нибудь подопнет меня, как происходит работа со звуком, то можно будет смотреть видео с FLAC и Vorbis в MKV, просто запуская их вместе.

Будьте осторожны с SamyGo. По умолчанию, он запускает много сервисов, и доступ по telnet осуществляется без пароля.
Успехов!

Категория: Все о телевизорах Смарт | Просмотров: 595 | Добавил: greate | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
1. сортировка по странам и городам 2.Ежедневный монитороинг листов 3.Ежедневное добавление новых листов с разных регионов стран... Плейлисты iptv с закрытых форумов 4.Вам достаточно попросить плейлисты определенного провайдера или города(района) в нашей группе в контакте и мы их поищем для вас 5.Наши листы скопипастены либо с закрытых разделов популярных форумов, либо сканим сами, то есть они долгоживущие, могут жить месяцами и даже больше. (да да, то, за что мы платили, вам достается даром, а аккаунты у нас есть на всех закрытых разделах популярных форумов)Создать бесплатный сайт с uCoz