Страница 1 из 1

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

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

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

Добавлено: 21 апр 2020, 19:04
Brigadir
Это можно на самой дюне исполнить:
http://files.dune-hd.com/sdk/doc/html/d ... stem_image

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

Добавлено: 21 апр 2020, 19:54
gusav
Требуется инструмент для извлечения именно из прошивки, если доступа к Дюне нет.

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

Добавлено: 21 апр 2020, 20:43
gusav
Задача решена с помощью 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 за что автору огромное спасибо)

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

Добавлено: 21 апр 2020, 21:36
Brigadir
Отлично. Осталось посчитать длину файла в скрипте и реализовать передачу имени файла параметром. Получится универсальный инструмент, легкий в использовании.

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

Добавлено: 21 апр 2020, 22:01
gusav
Отлично. Осталось посчитать длину файла в скрипте и реализовать передачу имени файла параметром. Получится универсальный инструмент, легкий в использовании.
Без проблем) Имя файла передается через пробел после имени скрипта. Например - ./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

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

Добавлено: 22 апр 2020, 02:15
gusav
Кстати кто знает, что означают цифры в заголовке прошивки в hex редакторе? DUNE FIRMWARE FILE [hdtv_301] format2150721_0136_b 8710195 до этого момента понятно. А вот дальше нет. Я извлек cramfs из прошивки, отредактировал содержащиеся там файлы, запаковал обратно, а прошивка не ставится. Подозреваю что как раз нужно менять что то в данных параметрах. А руками загонять cramfs в /dev/nblock8 каждый раз не хочется.

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

Добавлено: 22 апр 2020, 04:35
gusav
Задача решилась правильной установкой checksum. Checksum была в заголовке прошивки после размера прошивки в байтах. Как она генерируется, я так и не понял, но у Дюны есть очень информативный /tmp/run/shell.log. Он то мне все и рассказал - и какую я ему контрольную сумму дал, и какую он ожидал от меня получить. В общем после правки контрольной суммы все успешно прошилось.

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

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

Что дальше, если не секрет?

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

Добавлено: 22 апр 2020, 07:07
gusav
crc32 и md5 проверял - не оно. Дальше кастомизация прошивки, выпиливание ненужных предустановленных плагинов из firmware_ext и тд

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

Добавлено: 22 апр 2020, 08:40
Brigadir
Контрольная сумма похожа на crc32 или 16, на md5 или любой другой хэш ни разу не похожа. Это на 99% crc. А под виндовс можете портировать? Было бы удобней в разы, чем с этим линуксом.

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

Добавлено: 22 апр 2020, 08:58
gusav
С Windows сложнее, тк в нем нет аналога линуксового dd - программы для побайтового копирования данных. То есть штатными средствами на коленке написать скрипт не получится. Нужно или искать какое то аналогичное ПО, работающее в silent режиме, или писать, например, на Delphi. Но, и в том, и в другом случае нужен сам Windows, которого у меня нету(

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

Добавлено: 22 апр 2020, 09:04
gusav
Если Windows 10, то там можно запускать bash-скрипты.

https://itsecforu.ru/2019/07/15/%F0%9F% ... indows-10/

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

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

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

Добавлено: 22 апр 2020, 09:49
Brigadir
gusav писал(а):
22 апр 2020, 09:26
Да кстати, я портировал dune_api.php из r11 в b9 прошивку. Не думаю, что для использования, например, sel_id или post_action в open_folder() не хватит производительности моей 301 Дюны)
Одним портированием не обойтись, сам шелл должен быть обновлен)) Ведь json c параметрами ему отсылаются. Да и сам api - автогенерируемый файл, предполагаю самим шеллом.

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

Добавлено: 22 апр 2020, 10:36
gusav
Shell без исходников никак не обновить(

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

Добавлено: 22 апр 2020, 11:04
Brigadir
Ну это понятно. Я к тому что эти подмены ничего не дают, самое главное, ядро так сказать, остается без изменений((

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

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

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

Добавлено: 27 июн 2020, 18:58
ddaaff
Fatallity писал(а):
27 июн 2020, 17:08
Здравствуйте, подскажите на форуме есть ли разработчики плагинов IPTV? Новому сервису Smile TV нужен фирменный плагин для Dune. Само собой работа разработчика оплачивается.
Если таковые есть подскажите пожалуйста к кому можно обратиться.
https://forum.zlostnyi.tech/viewtopic.php?f=7&t=243