Программный ремонтРуководство MStarBinTool-GUI

Модераторы: RTvB, SouthWind

Аватара пользователя

Автор темы
One TV
Site Admin
Сообщения: 703
Зарегистрирован: 29 авг 2020, 14:04
Ответы: 2
Страна: Россия
н.п.: Там где пахнет флюсом
Паяльное оборудование: Профессиональное оборудование
Программаторы: ENTT. UFPI.RT809H
Контактная информация:

Руководство MStarBinTool-GUI

Сообщение One TV »

Скрытое изображение
Поддерживается только распаковка\упаковка прошивок MStar для ТВ на Android, в формате BIN-файла. Во избежание проблем, папка утилиты должна быть в корне диска «C:\» Поддерживаемые ОС: Windows Vista\7\8\8.1\10 32\64 bit. Утилита использует системные
библиотеки(*.dll), потому Windows XP, более ранние версии ОС, а также Live-сборки не поддерживаются. XP не поддерживается библиотеками, а из Live-сборок эти библиотеки могут быть вырезаны для уменьшения размера образа. Рекомендуется использовать утилиту на установленной ОС Vista и новее.





Возможности утилиты:
Спойлер
 Упаковка прошивки - Поддерживается 3 варианта создания BIN-файла
(Полная\Выборочная\Скрипт+Конфиг).
 Распаковка прошивки - Поддерживается 3 варианта распаковки BIN-файла
(Полная\Выборочная\Скрипт+Конфиг).
 Извлечение ключей из MBOOT - Поиск и извлечение AES\RSA ключей из образа.
 Шифрование UBOOT - Шифровка\Дешифровка UBOOT образа (boot\recovery).
 Упаковка\Распаковка UBOOT - Распаковка Ramdisk и сборка нового UBOOT образа.
 ADB функции - Поиск и подключение к ТВ через Wi-Fi(если устройства в одной сети).
Очередность составления скрипта прошивки:
 Формат + Загрузка: Запись пре-переменных -> Формат EMMC -> Активация Factory -> Запись таблицы
разделов -> Запись образов -> Запись пост-переменных.
 Только загрузка: Запись пре-переменных -> Активация Factory -> Запись образов -> Запись пост-переменных.
 Только скрипт: Запись пре-переменных -> Активация Factory -> Запись пост-переменных.
Упаковка прошивки:
Скрытое изображение
Скрытое изображение

Режимы упаковки:
Спойлер
 Формат + Загрузка - Создание полной прошивки с форматом EMMC. В этом режиме собирается полная
прошивка, включающая форматирование всей EMMC (за исключением загрузочных разделов), создание новой
пользовательской таблицы разделов, записи всех образов (включая sboot и MBOOT), а также запись переменных
загрузчика.

 Только загрузка - Создание лайт-прошивки. В этом режиме прошивка собирается из выборочных образов (один
и более) и переменных загрузчика. Формат всей EMMC и переразметка разделов не выполняются. Таблица
разделов остается прежней, как и разделы, образов которых нет в лайт-прошивке.

 Только скрипт - Создание лайт-прошивки, содержащей только скрипт установки (пустышка с набором команд).
В этом режиме прошивка собирается из Пре\Пост переменных загрузчика и команды активации режима factory
(если он есть). В этом режиме можно собрать BIN-скрипт, который, например, выполнит бэкап разделов ТВ на USB
флэшу (как одного выборочного раздела, так и всей EMMC). Таким же способом можно выполнить восстановление
раздела ТВ (как одного выборочного раздела, так и всей EMMC) из бэкапа на USB флэше.
Чтобы упаковать BIN-прошивку, в выпадающем списке выберите необходимый режим упаковки, затем выберите
конфиг-файл прошивки (для 1-2 режима), далее, если выбран 2 режим, поставьте галки на образах, которые должны
быть включены в прошивку, затем нажмите «Создать прошивку». Прошивка будет сохранена в:
«ПАПКА_УТИЛИТЫ\work\New_ИМЯ_ОРИГ_ПРОШИВКИ.bin».
Опция «Добавить комментарий» позволяет добавить свой комментарий в начало скрипта прошивки. Текст
комментария будет виден только при распаковке прошивки (будет в извлеченном скрипте прошивки).
В любом из режимов сборки вы можете редактировать (добавить\удалить) пре\пост-переменные. Для 3 режима
сборки, указывать конфиг-файл не обязательно, достаточно выбрать этот режим, указать имя выходного файла
(Внешнее имя файла) и добавить пре\пост-переменные. Если требуется, можно указать команду активации режима
Factory.

Распаковка прошивки:
Скрытое изображение
Скрытое изображение
Скрытое изображение
Спойлер
Чтобы распаковать BIN-прошивку, в выпадающем списке выберите необходимый режим распаковки, затем выберите BIN-файл прошивки и нажмите «Распаковать прошивку». Прошивка будет распакована в: «ПАПКА_УТИЛИТЫ\work\ИМЯ_BIN_ПРОШИВКИ\». При распаковке утилиты, редактирование пре\пост-переменных в окне утилиты невозможно.


Режимы распаковки:
Спойлер
 Полная распаковка - В этом режиме, из BIN-файла будет извлечено все содержимое: Оригинальный скрипт
установки (Script.sh), все образы, отмеченные галкой, а также будет сгенерирован конфиг-файл прошивки
(Config.xml), необходимый для сборки прошивки. При необходимости вы можете извлечь только определенные
образы, отметив их галками.

 Скрипт + Конфиг - В этом режиме, из BIN-файла будет извлечен только оригинальный скрипт установки, а
также будет сгенерирован конфиг-файл прошивки (Config.xml), необходимый для сборки прошивки.
Извлечение ключей из MBOOT
Скрытое изображение
Спойлер
Некоторые образы MBOOT, содержащиеся в прошивках, могут содержать банк ключей(«AES» и «RSA public»ключи). Извлечение
ключей из MBOOTнеобходимо для последующей дешифровки UBOOTобразов(boot\recovery),внесения изменений(по желанию) и
повторной шифровки, используя эти ключи. Если вы не планируете редактировать UBOOTобразы, то извлекать ключи нет необходимости.

Образы MBOOT из бэкапа могут содержать ключи, однако извлечь их не представляется возможным, поскольку они
хранятся в зашифрованном виде.

Чтобы извлечь AES\RSA ключи из MBOOT образа, выберите в предварительно распакованной прошивке MBOOT образ. Если
образ содержит ключи, то утилита автоматически их обнаружит и выведет в таблицу. Если ключи обнаружены, чтобы их
сохранить нажмите «Извлечь ключи». Извлеченные AES\RSA ключи будут сохранены в: «ПАПКА_УТИЛИТЫ\keys\».
Шифрование UBOOT
Скрытое изображение
Спойлер
В большей части современных BIN-прошивок UBOOT образы (boot\recovery) зашифрованы AES ключом и подписаны RSA ключом. Чтобы отредактировать зашифрованные образы, необходимо дешифровать их AES ключом, внести необходимые изменения, а затем подписать
отредактированный образ, используя приватный и публичный RSA ключи, далее выполнить шифровку, используя AES ключ. Этапы шифровки\дешифровки утилита выполняет автоматически, необходимо только указать AES и RSA ключи. По умолчанию
используются дефолтные ключи из папки: «ПАПКА_УТИЛИТЫ\default_keys\». Они подходят многим прошивкам, но далеко
не всем.

Варианты действий:
 Дешифровка (используя дефолтный AES ключ)
 Дешифровка (используя свой AES ключ, предварительно извлеченный из MBOOT)
 Шифровка (используя дефолтный AES ключ)
 Шифровка (используя свой AES ключ, предварительно извлеченный из MBOOT)
 Шифровка + Подпись (используя дефолтные AES\RSA ключи)
 Шифровка + Подпись (используя свои AES\RSA ключи, предварительно извлеченные из MBOOT)
Чтобы выполнить дешифровку образа, выберите тип AES ключа, затем выберите зашифрованный образ (*.aes). Далее
нажмите «Дешифровать образ». Дешифрованный образ будет сохранен по пути: «ПАПКА_УТИЛИТЫ\work\*.img».
Чтобы зашифровать образ (без подписи), выберите тип AES ключа, затем выберите дешифрованный образ (*.img). Далее
нажмите «Зашифровать образ». Зашифрованный образ будет сохранен по пути: «ПАПКА_УТИЛИТЫ\work\*.aes».
Чтобы зашифровать образ (с подписью), тип AES\RSA ключей, затем выберите дешифрованный образ (*.img). Далее
нажмите «Зашифровать образ». Зашифрованный образ будет сохранен по пути: «ПАПКА_УТИЛИТЫ\work\*.aes», файл
подписи будет сохранен по пути: «ПАПКА_УТИЛИТЫ\work\*Sign.img».

Распаковка-Упаковка UBOOT

Скрытое изображение
Спойлер
Варианты действий:
 Упаковка образа - Упаковка\создание UBOOT образа (boot\recovery). Из файлов в папке будет собран «ramdisk.img», с последующим созданием нового UBOOT образа из образов «kernel.img» и «ramdisk.img».

 Распаковка образа - Распаковка UBOOT образа (boot\recovery). Из образа будут извлечены образы «kernel.img» и «ramdisk.img», с
последующей распаковкой образа «ramdisk.img».

Чтобы упаковать\создать UBOOT образ из папки с файлами распакованного образа, сначала проверьте содержимое файла
«cpiostatfile.txt», содержащего список файлов образа и их Unix-атрибуты. Если вы добавляли файл(ы) в распакованный
образ, необходимо в этот файл добавить строку с путем к добавленному файлу и его Unix-атрибуты. Если вы удалили
файл(ы) из распакованного образа, необходимо также удалить строки, содержащие пути к удаленным файлам. Далее, в
выпадающем списке выберите «Собрать образ», затем укажите конфиг-файл, который был создан при распаковке
образа. Если конфиг-файл корректен, в таблицу будут выведена конфигурация оригинального образа. Если таблица
заполнена, нажмите «Собрать образ». Созданный UBOOT образ будет сохранен по пути:
«ПАПКА_УТИЛИТЫ\work\*-new.img».

Чтобы выполнить распаковку UBOOT образа (boot\recovery), в выпадающем списке выберите «Разобрать образ», затем
выберите дешифрованный образ boot\recovery (если в прошивке образ был зашифрован, нужно его предварительно
дешифровать). Если образ корректен (соответствует типу boot\recovery образов от MStar), в таблицу будет выведена его
конфигурация. Если конфигурация выведена, нажмите «Разобрать образ». Образ будет распакован по пути:
«ПАПКА_УТИЛИТЫ\work\ИМЯ_ОБРАЗА\». Подробнее:

 Образ kernel: ПАПКА_УТИЛИТЫ\work\ИМЯ_ОБРАЗА\kernel.img

 Образ ramdisk: ПАПКА_УТИЛИТЫ\work\ИМЯ_ОБРАЗА\ramdisk\

 Конфиг-файл: ПАПКА_УТИЛИТЫ\work\ИМЯ_ОБРАЗА\config.ini

 Unix-атрибуты: ПАПКА_УТИЛИТЫ\work\ИМЯ_ОБРАЗА\cpiostatfile.txt
ADB опции
Скрытое изображение
Спойлер
Поддерживается только подключение ТВ по Wi-Fi. Для этого оба устройства (ПК и ТВ) должны быть предварительно
подключены к одной Wi-Fi сети, проводным (Ethernet) или беспроводным способом. USB-подключение НЕ поддерживается.
Доступные возможности:

 Просмотр полной таблицы разделов EMMC

 Сохранение полной таблицы разделов в файл

 Просмотр списка всех установленных приложений

 Сохранение списка всех приложений в файл

Для того, чтобы подключиться к ТВ, сначала убедитесь, что ПК и ТВ подключены к одной Wi-Fi сети. Далее, нажмите
кнопку «Поиск» (кнопка с иконкой лупы) и дождитесь завершения процесса (~40 сек.). По завершению процесса поиска, в
выпадающий список будут добавлены IP-адреса всех доступных устройств (в пределах пула адресов – 40). В выпадающем
списке выберите нужный IP-адрес и нажмите «Подключить».
При 1 подключении будет необходимо разрешить подключение ПК к ТВ. На экране ТВ появится окно диалога с
возможностью разрешить или запретить входящий запрос подключения. Используя пульт ТВ, выберите «Разрешить»
(Allow) и поставьте галку, чтобы этот диалог не появлялся при следующих подключениях. Затем, во 2 выпадающем списке
выберите желаемое действие и нажмите «Отправить команду», в таблицу будет выведен результат.
При желании можно сохранить содержимое таблицы в XML-файл.
Конфиг-файл прошивки


Файл представляет из себя классический XML-формат, с древовидной структурой. Конфиг-файл полностью корректен и не
требует правки, за исключением установки значения для «TypeCRC». Значение указывается автоматически, при чтении
BIN-файла, однако есть вероятность, что утилите не удастся правильно определить «Тип CRC», потому рекомендуется
проверить корректность значения перед сборкой прошивки. Конфиг-файл генерируется с максимальной автоматизацией,
т.е. можно полностью распаковать полную прошивку и ничего не меняя собрать ее обратно.
*Размер пересобранной прошивки (в которой не производились правки) может быть чуть меньше оригинала, если в
прошивке есть образы, сжатые в LZO. При распаковке таких образов и повторном сжатии, образы сжимаются чуть сильней.
Это можно увидеть, если сравнить размеры частей образов в скриптах прошивок, оригинальной и пересобранной.
Спойлер
Значения параметров конфигурации:

 FirmDirPath - Путь к распакованной прошивке, с обратным слешем в конце

 ExternalName - Внешнее имя BIN-файла прошивки (к нему будет добавлен префикс "new-")

 InternalName - Внутреннее имя BIN-файла прошивки (для загрузки частей прошивки в RAM)

 FactoryInit - Команда активации режима Factory. Будет добавлена ПОСЛЕ пре-переменных и формата EMMC (если
выбран 1 режим сборки), но ДО создания разделов (если выбран 1 режим сборки).

 UseHexPrefix - Использовать HEX префикс ("0x") для значений, при составлении скрипта прошивки (Yes\No)

 TypeCRC - Метод подсчета контрольных сумм прошивки (1=Обычный, 2=XGIMI, 3=3CRC - как у Elenberg)

 RamAddress - Адрес RAM, куда будут загружаться части прошивки


Значения атрибутов разделов:

 Name - Имя раздела.

 Size - Размер создаваемого раздела в HEX формате. Размер раздела может не совпадать с физическим размером
образа.

 Erase - Очистка раздела перед записью (Yes\No). Для rboot, sboot, MBOOT, MBOOTBAK, MPOOL - всегда «No».


Значения атрибутов образов:

 Name - Имя образа.

 Compress - Использовать LZO-сжатие образа (Yes\No).

 Sparse - Использовать команду для записи Sparse-образа (Yes\No).

 Split - Разделить образ на части, по 150 Мб (Yes\No).

 EmptySkip - Флаг Empty_Skip, используется при записи образа раздела (Yes\No).

 Type - Тип образа (RomBoot, SecureBoot, Partition, SecureInfo, NuttxConfig). Для каждого типа установлен свой
метод записи.

 Path - Путь к файлу образа (поиск в папке прошивки, Имя+Расширение).


Переменные:

 PreEnv - Пре-переменные, которые будут добавлены ДО формата\создания\очистки\записи разделов (в самое
начало скрипта прошивки).

 PostEnv - Пост-переменные, которые будут добавлены ПОСЛЕ формата\создания\очистки\записи разделов (в
самый конец скрипта прошивки).

При ручном редактировании переменных в конфиг-файле, не допускайте отступы слева (от начала строки). Допускаются
отступы в начале и конце секции (<НАЧАЛО_СЕКЦИИ> Переменные </КОНЕЦ_СЕКЦИИ>), такие отступы\пробелы будут
автоматически удалены. При создании прошивки, пре\пост-переменные можно редактировать в окне утилиты. Внесенные
изменения не затронут конфиг-файл прошивки.
! Не добавляйте в пре\пост-переменные строки «mmc rmgpt» и «mmc slc 0 1». При выборе 1 режима сборки,
эти строки будут добавлены автоматически.
Скрытое содержимое
Вложения
Скрытый файл
Поддержи наш проект! Адрес email:
Закрыто

Вернуться в «Программный ремонт»