22 декабря | 2024г. | 22:04:02


АвторТема: Инструкция по сборке альтернативных прошивок! (структура файла прошивки)  (Прочитано 10690 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн roman_ispuАвтор темы

  • Друзья Джедаев
  • *****
  • Сообщений: 356
  • Поблагодарили: 285
  • Уважение: +6
Разбирем заводскую прошивку по косточкам:
Слив дампы с mtd0,1,2,3,4,5,6,7 и сравнив с тем, что нам дает производитель имеем следующее.
Прошивки, что нам дает производитель, как мы знаем бывают 3-х видов, вот их внутренний состав:
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.Почитав статью о перепрошивке ресиверов в разные модели, разобрался в структуре самого файла *.isd.
Наш файл фактически состоит из трех частей: 1 - размер и контрольная сумма заголовка, 2 - заголовок (в нем описаны размер прошивки, контрольная сумма прошивки, размеры файлов в прошивке, "пункт назначения", версия прошивки и модель ресивера, 3 - сама прошивка ,состоящая из указанных выше mtd без каких либо разрывов).
Далее приведены адреса значенией в файле и сами значения:

Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.
Итак можно легко собрать свою прошивку (для примера allinone):
1) Имея дампы необходимых mtd0,1,2 с ресивера (хвосты с нулями в дампах следует отрезать, чтобы не увеличивать размер итогового файла)
Вариант 1: Скормить это все FW Tool ->>> там

Вариант 2: ручками
- Запомнить их размеры в байтах и перевести в HEX
- Взять HEX редактор, соединить их между собой в том порядке в котором я указал. Начало следующего файла к концу предыдущего без разрывов и лишних символов
- Запомнить размер полученного файла (в результате слияния по п.3) и перевести в HEX
- Посчитать CRC32 этого файла.
- Взять заголовок от любой заводской прошивки, соединить его с файлом из п.3 в HEX редакторе
- В полученном файле исправить: модель, если хотите влить в клон-ресивер, CRC32 из п.5, размер файлов mtd0,1,2 в составе полученной прошивки (см, коды выше)
- Посчитать CRC32 полученного заголовка 00000008-00000173
- Исправить в полученном файле CRC32 заголовка
- Переименовать полученный файл в allinone_XXX.isd (XXX - любой произвольный текст)

P.S.: Важная информация, не забываем про обратный порядок байт. Если в файле вы прочитали по адресу 00000000-0000003: 74 01 00 00, то воспринимать его следует как 00 00 01 74 - что при переводе в Dec даст 372. Соответственно и вносить посчитанные значения следует меняя байты местами. Подробнее -> тут <-

Добавлено  22 декабря | 2011г. | 22:10:55   
Полезно иногда поковырять то что дает нам производитель.
Я разобрал на части прошивки начиная от 20.25 и заканчивая 21.38 и сравнил отдельные части
Интересно то, что kernel (vmlinux) все это время не менялся :)

Но более всего поразило отличие loader_04.34 от loader_04.42, которое заключается в смене картинки и ВСЕ!!!, то есть для новых прошивок наличии лоадера 04.42 не обязательно!


Оффлайн Expert_66

  • Друзья Джедаев
  • *****
  • Сообщений: 974
  • Поблагодарили: 475
  • Уважение: +11
Исследуем структуру прошивки
« Ответ #1: 22 декабря | 2011г. | 22:34:47 »
0
Таааак, есть энтузиасты?
Мож кто соберет чтоб там уже была возможность сразу по DCC подключаться, эмули ставbть, хотя бы mgcamd

Оффлайн Expert_66

  • Друзья Джедаев
  • *****
  • Сообщений: 974
  • Поблагодарили: 475
  • Уважение: +11
Исследуем структуру прошивки
« Ответ #2: 22 декабря | 2011г. | 23:01:29 »
0
Эмули врдя ли, это надо бурутус разбирать,
Но ведь oscam то ставится :cray:

Оффлайн Taapat

  • Мастер Джедай
  • **
  • Сообщений: 3543
  • Поблагодарили: 10700
  • Уважение: +60
  • Zgemma H7S | Zgemma H.S | Edision OS mini + | Amiko SHD-8900 Alien | VU+ Solo2 | Gi ET11000 4K
taapat.blogspot.com

Оффлайн roman_ispuАвтор темы

  • Друзья Джедаев
  • *****
  • Сообщений: 356
  • Поблагодарили: 285
  • Уважение: +6
Исследуем структуру прошивки
« Ответ #4: 23 декабря | 2011г. | 00:41:44 »
0
:) Мои выкладки в первом посте оказались верными. Если кому интересно, вот образец для GI с измененным рутом (основан на версии 20.99). В /root после прошивки появится файл HiWorld!. В rc.user добавлены строки запуска FTP (если он ранее скопирован в data)
Сама прошивка никакой полезной нагрузки не несет, явяется лишь демонстрацией возможности заливки "левых" прошивок в ресивер!

Имя файла прошивки обязательно должен начинаться с allinone_, loader_, appl_, в противном случае не шьется ECODE_0018
Если кому нужно в архиве та же прошивка кусками и НЕИСПРАВЛЕННЫЙ заголовок!

P.S.: Любой кусок из архива можно также прошить в ресивер по инструкции -> ткни <-
Без головняка с заголовком и сборкой прошивки

Оффлайн Expert_66

  • Друзья Джедаев
  • *****
  • Сообщений: 974
  • Поблагодарили: 475
  • Уважение: +11
Это как я понял для ST9196, не для S9195?

Оффлайн roman_ispuАвтор темы

  • Друзья Джедаев
  • *****
  • Сообщений: 356
  • Поблагодарили: 285
  • Уважение: +6
Это как я понял для ST9196, не для S9195?
Файлы что я выложил для ST.

Наверняка там только app и будет отличаться.
Структура файла *.isd та же

Оффлайн osergek

  • Друзья Джедаев
  • *****
  • Сообщений: 1648
  • Поблагодарили: 724
  • Уважение: +14
А можно будет, что то свое добавлять в свои прошивки ?
Или только брать лучшие кусочки из  существующих прошивок и
создавать свою ? Замучали уже глюкавые фирменные прошивки !

Оффлайн roman_ispuАвтор темы

  • Друзья Джедаев
  • *****
  • Сообщений: 356
  • Поблагодарили: 285
  • Уважение: +6
FW Unpacker v.0.1
Сваял сырую программку-распаковщик прошивок
Все очень сыро, никаких проверок на целостность прошивки и т.д. не используется, поэтому можно ей подсунуть левый файл и она будет его пытаться разобрать, естественно с ошибками.
Оригинальные вроде без ошибок разбирает
На очереди сборщик, вот на нем все проверки целостности откатаю, тогда и в эту впишу.
Перед сборщиком есть еще одна интересная идея, которая позже станет его частью.... Когда выложу увидите
P.S.: Скорость увеличил до приемлимой величины...

Оффлайн Taapat

  • Мастер Джедай
  • **
  • Сообщений: 3543
  • Поблагодарили: 10700
  • Уважение: +60
Несмотря на Рождество, не удержался и попробовал.
Спасибо, похоже что работает!
Я запустил, открыл и распаковал прошивку allinone_Infinity_Plus_VVEC020.72.isd.
Полученный файл app скопировал на /mnt/SATA/hda4/.
Создал папку /test и успешно примонтировал образ app.
Вам не разрешен просмотр кода. Войдите или Зарегистрируйтесь для просмотра.Благодаря roman_ispu мы теперь можем легко распаковать образы разных прошивок и запускать для экспериментов их brutus без предварительной установки всей прошивки на ресивер.
Единственное замечание:
Программа написана для работы на компьютере с русской кодировкой и если на компьютере другая (английская), там отображается крякобразы. Конечно с помощи AppLocale я могу её запустить с нормальным отображением букв, но хотелось чтобы текст был на английском в соответствующий кодировке, по тому что она, по моему, нормально работает и на компьютере с русской, а у тех, кто эту программу будет использовать английский не такая большая проблема.
  • Zgemma H7S | Zgemma H.S | Edision OS mini + | Amiko SHD-8900 Alien | VU+ Solo2 | Gi ET11000 4K
taapat.blogspot.com

Оффлайн plim

  • Великий Джедай
  • ****
  • Сообщений: 651
  • Поблагодарили: 146
  • Уважение: +5
На Windows 7 версия 0.2 не пошла - создает файлы 0 байт.
И примонтировать не удалось:

# mount -t cramfs /mnt/USB1/sda1/app /test
mount: Mounting /dev/loop2 on /test failed: No such file or directory
Файл app на sda1 в корне, папка тест создана.

Оффлайн Taapat

  • Мастер Джедай
  • **
  • Сообщений: 3543
  • Поблагодарили: 10700
  • Уважение: +60
У меня тоже создает 0b. За то V0.1 работает.
  • Zgemma H7S | Zgemma H.S | Edision OS mini + | Amiko SHD-8900 Alien | VU+ Solo2 | Gi ET11000 4K
taapat.blogspot.com


Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
7764 Просмотров
Последний ответ 17 мая | 2011г. | 22:34:01
от Cms
3 Ответов
14839 Просмотров
Последний ответ 21 мая | 2011г. | 11:37:50
от Cms
1496 Ответов
648736 Просмотров
Последний ответ 04 декабря | 2011г. | 23:30:44
от Cms
2 Ответов
9067 Просмотров
Последний ответ 01 июня | 2011г. | 19:59:39
от Cms
273 Ответов
179548 Просмотров
Последний ответ 30 августа | 2017г. | 09:19:47
от ChitakkA



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!