Инструменты для разработки

Здесь освещаются пути и тонкости в разработке собственных приложений Dune HD
Ответить
Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Инструменты для разработки

Сообщение gusav » 21 апр 2020, 16:24

Всем здравствуйте.Может кто-нибудь знает, есть ли какой нибудь рабочий способ вытащить cramfs из 102/303/connect прошивки? На sigmaplayer.com нашел екстрактор - http://www.sigmaplayer.com/filebase.php ... t=c&page=1 , но ссылка недоступна - просить зарегистрироваться или залогиниться, несмотря на то, что я итак залогинен. Может проблема с моей учеткой? Просьба, если у кого есть данный экстрактор поделиться или, если есть учетка на Сигма плеер попробовать скачать. Заранее спасибо.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 1317
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 21 апр 2020, 19:04

Это можно на самой дюне исполнить:
http://files.dune-hd.com/sdk/doc/html/d ... stem_image
Dune HD Pro 4K II (200710_1329_r15)
Dune HD Pro 4K (200415_0403_r13)
Dune HD Sky 4K Plus (200415_0403_r13)
Dune HD Base 3D (190919_0242_r11) Сист. флешка присутствует
Dune HD TV-102 (190919_0242_r11) Тестовая
Dune HD TV-102 (150721_0136_b9) Тестовая

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Последняя актуальная версия плагина Домашнее ТВ: v3.0b6 (06.08.2020)
Краткий обзор Pro 4K II

Отблагодарить автора (Yandex-деньги)

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 21 апр 2020, 19:54

Требуется инструмент для извлечения именно из прошивки, если доступа к Дюне нет.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 21 апр 2020, 20:43

Задача решена с помощью bash скрипта.

Код: Выделить всё

#!/bin/bash
var=22548992
mkdir extract
touch cramfs
while [ $var -lt 128190976 ] #размер прошивки в байтах
do
dd if=file_in of=extract/file-$var bs=1 skip=$var count=2032 #file_in - имя файла прошивки
cat cramfs extract/file-$var >> cramfs
rm -rf extract/file-$var
var=$(($var+2048))
done
rm -rf extract
Обратите внимание на необходимость указать имя файла прошивки и размер в байтах.
На решение натолкнула тема http://forum.hdtv.ru/index.php?showtopic=19285 за что автору огромное спасибо)
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 1317
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 21 апр 2020, 21:36

Отлично. Осталось посчитать длину файла в скрипте и реализовать передачу имени файла параметром. Получится универсальный инструмент, легкий в использовании.
Dune HD Pro 4K II (200710_1329_r15)
Dune HD Pro 4K (200415_0403_r13)
Dune HD Sky 4K Plus (200415_0403_r13)
Dune HD Base 3D (190919_0242_r11) Сист. флешка присутствует
Dune HD TV-102 (190919_0242_r11) Тестовая
Dune HD TV-102 (150721_0136_b9) Тестовая

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Последняя актуальная версия плагина Домашнее ТВ: v3.0b6 (06.08.2020)
Краткий обзор Pro 4K II

Отблагодарить автора (Yandex-деньги)

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 21 апр 2020, 22:01

Отлично. Осталось посчитать длину файла в скрипте и реализовать передачу имени файла параметром. Получится универсальный инструмент, легкий в использовании.
Без проблем) Имя файла передается через пробел после имени скрипта. Например - ./cramfs_extractor_102 dune_firmware_tv102_190919_0242_r11.dff

Код: Выделить всё

#!/bin/bash
var=22548992
filesize=$(stat -c%s "$1")
mkdir extract
while [ $var -lt $filesize ]
do
dd if=$1 of=extract/file-$var bs=1 skip=$var count=2032
cat extract/file-$var >> tango.cramfs
rm -rf extract/file-$var
var=$(($var+2048))
done
rm -rf extract
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 02:15

Кстати кто знает, что означают цифры в заголовке прошивки в hex редакторе? DUNE FIRMWARE FILE [hdtv_301] format2150721_0136_b 8710195 до этого момента понятно. А вот дальше нет. Я извлек cramfs из прошивки, отредактировал содержащиеся там файлы, запаковал обратно, а прошивка не ставится. Подозреваю что как раз нужно менять что то в данных параметрах. А руками загонять cramfs в /dev/nblock8 каждый раз не хочется.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 04:35

Задача решилась правильной установкой checksum. Checksum была в заголовке прошивки после размера прошивки в байтах. Как она генерируется, я так и не понял, но у Дюны есть очень информативный /tmp/run/shell.log. Он то мне все и рассказал - и какую я ему контрольную сумму дал, и какую он ожидал от меня получить. В общем после правки контрольной суммы все успешно прошилось.
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 1317
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 22 апр 2020, 06:14

Вряд ли изобретали что-то экзотическое, стандартный crc16 или 32 наверное. Вот как это на баше изобразить не знаю, не силен. Я в баш только с мануалом в руках лезу, и то стараюсь не лезть лишний раз))

Что дальше, если не секрет?
Dune HD Pro 4K II (200710_1329_r15)
Dune HD Pro 4K (200415_0403_r13)
Dune HD Sky 4K Plus (200415_0403_r13)
Dune HD Base 3D (190919_0242_r11) Сист. флешка присутствует
Dune HD TV-102 (190919_0242_r11) Тестовая
Dune HD TV-102 (150721_0136_b9) Тестовая

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Последняя актуальная версия плагина Домашнее ТВ: v3.0b6 (06.08.2020)
Краткий обзор Pro 4K II

Отблагодарить автора (Yandex-деньги)

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 07:07

crc32 и md5 проверял - не оно. Дальше кастомизация прошивки, выпиливание ненужных предустановленных плагинов из firmware_ext и тд
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 1317
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 22 апр 2020, 08:40

Контрольная сумма похожа на crc32 или 16, на md5 или любой другой хэш ни разу не похожа. Это на 99% crc. А под виндовс можете портировать? Было бы удобней в разы, чем с этим линуксом.
Dune HD Pro 4K II (200710_1329_r15)
Dune HD Pro 4K (200415_0403_r13)
Dune HD Sky 4K Plus (200415_0403_r13)
Dune HD Base 3D (190919_0242_r11) Сист. флешка присутствует
Dune HD TV-102 (190919_0242_r11) Тестовая
Dune HD TV-102 (150721_0136_b9) Тестовая

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Последняя актуальная версия плагина Домашнее ТВ: v3.0b6 (06.08.2020)
Краткий обзор Pro 4K II

Отблагодарить автора (Yandex-деньги)

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 08:58

С Windows сложнее, тк в нем нет аналога линуксового dd - программы для побайтового копирования данных. То есть штатными средствами на коленке написать скрипт не получится. Нужно или искать какое то аналогичное ПО, работающее в silent режиме, или писать, например, на Delphi. Но, и в том, и в другом случае нужен сам Windows, которого у меня нету(
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 09:04

Если Windows 10, то там можно запускать bash-скрипты.

https://itsecforu.ru/2019/07/15/%F0%9F% ... indows-10/
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 09:26

Brigadir писал(а):
22 апр 2020, 06:14
Что дальше, если не секрет?
Да кстати, я портировал dune_api.php из r11 в b9 прошивку. Не думаю, что для использования, например, sel_id или post_action в open_folder() не хватит производительности моей 301 Дюны)
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 1317
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 22 апр 2020, 09:49

gusav писал(а):
22 апр 2020, 09:26
Да кстати, я портировал dune_api.php из r11 в b9 прошивку. Не думаю, что для использования, например, sel_id или post_action в open_folder() не хватит производительности моей 301 Дюны)
Одним портированием не обойтись, сам шелл должен быть обновлен)) Ведь json c параметрами ему отсылаются. Да и сам api - автогенерируемый файл, предполагаю самим шеллом.
Dune HD Pro 4K II (200710_1329_r15)
Dune HD Pro 4K (200415_0403_r13)
Dune HD Sky 4K Plus (200415_0403_r13)
Dune HD Base 3D (190919_0242_r11) Сист. флешка присутствует
Dune HD TV-102 (190919_0242_r11) Тестовая
Dune HD TV-102 (150721_0136_b9) Тестовая

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Последняя актуальная версия плагина Домашнее ТВ: v3.0b6 (06.08.2020)
Краткий обзор Pro 4K II

Отблагодарить автора (Yandex-деньги)

Аватара пользователя
gusav
Сообщения: 18
Зарегистрирован: 09 апр 2020, 17:25

Сообщение gusav » 22 апр 2020, 10:36

Shell без исходников никак не обновить(
Dune 301 (150721_0136_B9) Сист.флешка присутствует

Аватара пользователя
Brigadir
Администратор
Сообщения: 1317
Зарегистрирован: 07 янв 2018, 18:28
Откуда: С просторов необъятной
Контактная информация:

Сообщение Brigadir » 22 апр 2020, 11:04

Ну это понятно. Я к тому что эти подмены ничего не дают, самое главное, ядро так сказать, остается без изменений((
Dune HD Pro 4K II (200710_1329_r15)
Dune HD Pro 4K (200415_0403_r13)
Dune HD Sky 4K Plus (200415_0403_r13)
Dune HD Base 3D (190919_0242_r11) Сист. флешка присутствует
Dune HD TV-102 (190919_0242_r11) Тестовая
Dune HD TV-102 (150721_0136_b9) Тестовая

Чтобы получить log-файл плагинов, нужно создать на первом носителе, доступном пользователю (обычно внутренний HDD, или любое другое USB-хранилище при отсутствии внутреннего HDD) папку "dune_plugin_logs". Если вы используете USB-флешку, то отформатируйте ее в FAT32 перед тем, как создать папку для логов. После чего перезагрузите дюну и начните пользоваться плагином, в папке dune_plugin_logs появится файл лога.

Последняя актуальная версия плагина Домашнее ТВ: v3.0b6 (06.08.2020)
Краткий обзор Pro 4K II

Отблагодарить автора (Yandex-деньги)

Аватара пользователя
Fatallity
Сообщения: 1
Зарегистрирован: 23 июн 2020, 18:24

Сообщение Fatallity » 27 июн 2020, 17:08

Brigadir писал(а):
22 апр 2020, 11:04
Ну это понятно. Я к тому что эти подмены ничего не дают, самое главное, ядро так сказать, остается без изменений((
Здравствуйте, подскажите на форуме есть ли разработчики плагинов IPTV? Новому сервису Smile TV нужен фирменный плагин для Dune. Само собой работа разработчика оплачивается.
Если таковые есть подскажите пожалуйста к кому можно обратиться.
Service IPTV-Fox TV

Аватара пользователя
ddaaff
Супермодератор
Сообщения: 829
Зарегистрирован: 08 янв 2018, 00:07
Откуда: Приморский край

Сообщение ddaaff » 27 июн 2020, 18:58

Fatallity писал(а):
27 июн 2020, 17:08
Здравствуйте, подскажите на форуме есть ли разработчики плагинов IPTV? Новому сервису Smile TV нужен фирменный плагин для Dune. Само собой работа разработчика оплачивается.
Если таковые есть подскажите пожалуйста к кому можно обратиться.
https://forum.zlostnyi.tech/viewtopic.php?f=7&t=243
Dune HD 102 (190919_0242_r11)
Dune HD Neo 4K (tv173b 200331_2121_r13)
Dune HD Pro 4K (tv292b 200914_1539_r13)
Dune HD Pro 4K II (tv175h 200929_0332_r15)

Ответить