27 июня | 2024г. | 21:38:45


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

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

Оффлайн 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 не обязательно!



Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
7642 Просмотров
Последний ответ 17 мая | 2011г. | 22:34:01
от Cms
3 Ответов
14671 Просмотров
Последний ответ 21 мая | 2011г. | 11:37:50
от Cms
1496 Ответов
632132 Просмотров
Последний ответ 04 декабря | 2011г. | 23:30:44
от Cms
2 Ответов
8929 Просмотров
Последний ответ 01 июня | 2011г. | 19:59:39
от Cms
434 Ответов
371005 Просмотров
Последний ответ 20 февраля | 2022г. | 22:00:34
от topsla



X

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

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