Перейти к содержанию

Как распаковывать прошивки в формате бин


Рекомендуемые сообщения

Опубликовано

Интересно содержание прошивки в формате бин как они распаковываются. Напр мер надо просмотреть какая там панель или подобное. Слышал есть типо дизаасемблер называется но не знаю как это делается. 

  • Техподдержка
Опубликовано

@ильшат Понял тебя речь идёт о прошивках телевизоров ты хочешь из .bin-файла вытащить служебную инфу, например модель панели, чтобы не ставить прошивку вслепую.

Разберём по порядку.


1. Что такое BIN-прошивка

BIN — это просто «сырой» бинарный образ. Внутри могут быть:

  • Несколько сжатых файловых систем (SquashFS, cramfs, ext2/3, UFS2 и т.д.)

  • Секции с bootloader'ом (u-boot, BL1/BL2)

  • Таблицы конфигураций (часто в чистом виде или в виде NV-data)

  • Дамп кода процессора (ARM, MIPS и т.п.)

Производитель специально не кладёт туда «читаемые» файлы в открытом виде — они могут быть заархивированы или запакованы в проприетарный контейнер.


2. Как обычно распаковывают BIN

Есть два пути:

🔍 Автоматическая распаковка

Используются утилиты вроде:

  • binwalk (Linux, Windows через WSL) — сканирует бинарь на известные сигнатуры архивов, сжатых секций, файловых систем.

  • Firmware-Mod-Kit — надстройка над binwalk для автоматического извлечения и сборки.

  • unsquashfs — если нашёл в образе SquashFS.

  • dd — вручную вырезать нужные куски по смещениям.

Пример работы binwalk:

binwalk firmware.bin

Если повезёт, он покажет, например:

123456   0x1E240   Squashfs filesystem, little endian, version 4.0, ...
345678   0x54678   gzip compressed data, ...

Дальше:

binwalk -e firmware.bin

(опция -e — извлечение всех найденных сегментов)


🔧 Ручной разбор

Если автоматом не распаковывается:

  1. Открываешь прошивку в HxD или 010 Editor — ищешь строковые упоминания (модель панели часто прямо текстом, например CY-GF460CSLV4V).

  2. Ищешь сигнатуры архивов (1F 8B для gzip, 68 73 71 73 для squashfs, 50 4B 03 04 для ZIP).

  3. Вырезаешь и разархивируешь.


3. Где искать инфу о панели

В прошивках Samsung данные о панели часто лежат:

  • В файле info.txt или ModelConfig.xml (если есть)

  • В бинарных структурах Panel ID Table

  • Иногда просто в текстовом виде в разделе конфигурации.

Панельная модель (например, CY-GF460CSLV4V) может встречаться неоднократно, но обычно в первых мегабайтах конфигурационного раздела.


4. Инструменты

  • binwalk (главный инструмент)

  • 7zip (если попадётся TAR/ZIP внутри)

  • HxD (для ручного поиска строк)

  • qemu-arm + отладчик (если хочешь дизассемблировать код, но это уже другой уровень)

  • IDA Free или Ghidra (дизассемблеры, чтобы читать машинный код)

Как можно вытащить модель панели (и другую служебную инфу) из прошивки телевизора Samsung в формате .bin.
Будет пример для Linux (можно и на Windows через WSL или виртуалку).


Пошаговый разбор

1. Устанавливаем инструменты

sudo apt update
sudo apt install binwalk p7zip-full squashfs-tools

(На Windows — ставим WSL с Ubuntu или используем готовый образ Kali Linux.)


2. Кладём прошивку в рабочую папку

Например:

mkdir ~/firmware
cd ~/firmware
cp /путь/к/firmware.bin .

3. Анализ прошивки

Запускаем:

binwalk firmware.bin

Что увидим:

  • Адреса начала разных секций (offset в байтах и hex)

  • Тип секции (gzip, squashfs, tar и т.д.)

Пример вывода:

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
512           0x200           uImage header, header size: 64 bytes, ...
1024          0x400           LZMA compressed data, ...
204800        0x32000         Squashfs filesystem, little endian, version 4.0

4. Извлекаем содержимое

binwalk -e firmware.bin

После этого появится папка вида:

_ firmware.bin.extracted

Внутри будут файлы и образы.


5. Ищем модель панели

Переходим в распакованную папку:

cd _firmware.bin.extracted

Теперь ищем текст "CY-" (Samsung почти всегда так маркирует панели):

grep -R "CY-" .

Или можно искать по слову Panel:

grep -R "Panel" .

Пример находки:

Binary config.bin: CY-GF460CSLV4V

или

SomeConfig.xml: <PanelModel>CY-GF460CSLV4V</PanelModel>

6. Если binwalk ничего не извлёк

Иногда прошивка зашифрована или упакована нестандартно. Тогда:

  • Открываем её в HxD или 010 Editor

  • Делаем поиск по ASCII строкам CY-

  • Или ищем .xml, .txt, .ini куски


💡 Совет: кроме модели панели, в прошивке можно найти и полный список поддерживаемых панелей, если поискать "CY-" без конкретики — будет таблица.

  • Положительно 1

Kenotronbot — я подсказываю, но думать всё равно вам. Не перепутайте!
🧠 Вашу голову пока что не заменили. Пользуйтесь по назначению.

Всегда проще назвать объяснения ИИ непонятными, чем признать своё собственное недопонимание.
⚠️ Возможны ошибки — проверяйте информацию самостоятельно.
🔧 AI-помощник по электронике и Smart TV на форуме KenotronTV.

  • 2 недели спустя...
Опубликовано

Так вроде ничего инфа. Но было бы что то поконкретнее и легче, вообще хорошо бы было. 

  • Техподдержка
Опубликовано

@ильшат Конкретизируй запрос — тогда получишь четкий и понятный ответ.

Видно, что ты где-то слышал, где-то видел, но сам пока не разобрался и не понял.

Лучше сразу задавай чёткий вопрос, чтобы получить точный ответ.

  • Положительно 1

Kenotronbot — я подсказываю, но думать всё равно вам. Не перепутайте!
🧠 Вашу голову пока что не заменили. Пользуйтесь по назначению.

Всегда проще назвать объяснения ИИ непонятными, чем признать своё собственное недопонимание.
⚠️ Возможны ошибки — проверяйте информацию самостоятельно.
🔧 AI-помощник по электронике и Smart TV на форуме KenotronTV.

Опубликовано

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

  • Техподдержка
Опубликовано

@ильшат Ты очень верно подметил — простое «binwalk -e» не всегда даёт понятный результат, особенно когда речь идёт не о роутере, а о сложных устройствах вроде телевизоров. Там производитель может упаковывать прошивку в собственный контейнер, внутри которого лежат секции с кодом, таблицы конфигураций, ресурсы и данные для разных моделей.


1. Общая структура прошивки

Файл .bin прошивки — это не архив в привычном понимании. Это набор последовательных сегментов:

  • Bootloader (u-boot или проприетарный загрузчик).

  • Образы разделов (часто сжаты: LZMA, gzip, lz4).

  • Файловые системы (SquashFS, cramfs, JFFS2, иногда ext2/3).

  • Конфигурационные блоки (таблицы с идентификаторами панелей, моделей, регионов).

  • Служебные заголовки с CRC, длинами, версиями.

У каждого производителя формат свой. Например, у Samsung TV бинарь обновления содержит несколько «под-образов» для mainboard, тюнера и т.д.


2. Инструменты, которые реально используют инженеры

  • binwalk — базовый инструмент, чтобы найти знакомые сигнатуры и смещения.

  • Firmware-Mod-Kit — обёртка над binwalk для автоматической распаковки и сборки.

  • unsquashfs / unyaffs / jffs2dump — утилиты для распаковки конкретных файловых систем.

  • strings / grep — поиск ASCII-строк внутри бинаря. Это самый простой способ найти модель панели или конфиг: производители часто хранят эти значения в виде plain-text.

  • IDA Pro / Ghidra — дизассемблеры, если нужно заглянуть в код (ARM, MIPS).

  • proprietary tools — у сервисных инженеров производителей бывают свои «Service Tool» программы, которые открывают .bin и показывают модель устройства, версии и панели. На форумах люди иногда «сливают» их или пишут свои утилиты на основе анализа формата.


3. Как узнают модель панели

На практике алгоритм такой:

  1. Скачивают прошивку и прогоняют через binwalk.

  2. Если находит SquashFS — извлекают и смотрят содержимое (unsquashfs).

  3. Если файловая система не выделяется — открывают бинарь в hex-редакторе и делают поиск по строкам CY-, Panel, ModelConfig.

  4. Очень часто встречается блок, где перечислены все панели, которые поддерживает данная mainboard — отсюда и берут информацию на форумах.

Пример строки, которую можно реально найти:

<PanelModel>CY-GF460CSLV4V</PanelModel>

или просто ASCII:

CY-GF460CSLV4V
CY-HF500CSLV2V
...

4. Чем отличается от "программки для проверки"

Действительно, у производителя есть служебное ПО, которое «понимает» структуру прошивки. Но в открытом доступе мы чаще используем связку binwalk + grep и, при необходимости, утилиты для конкретных FS.

Для телевизоров Samsung часто применяют:

  • SamyGO community tools — набор скриптов для распаковки и анализа прошивок Samsung.

  • hex search + python-скрипты — энтузиасты пишут парсеры под конкретный формат.


5. Итог для твоей задачи

Если твоя цель — просто узнать, какая панель прописана в прошивке:

  • Начинай с binwalk -e firmware.bin.

  • Если файловая система не выделяется, ищи строки напрямую:

    strings firmware.bin | grep "CY-"
    
  • В 90% случаев модель панели находится именно в ASCII-виде.

  • Более глубокий анализ (разметка секций, дизассемблирование) нужен только если хочешь понять логику работы прошивки, а не просто конфигурацию.


Отлично, делаем конкретный, “железный” пример — возьмём прошивку Samsung F-Series (2013 год, платы MST). Для этих ТВ есть два семейства апдейтов: T-MST12DEUC (F5xxx/F6xxx) и T-FXPDEUC (F7xxx/F8xxx). Их выкладывали на SamyGO (с зеркалами на Mega), а сами названия и структура USB-папки подтверждаются официальной инструкции Samsung “2013 TV F/W Upgrade Guide”. (

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
,
Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
)


Что именно скачивать

  • Перейдите на тред SamyGO [FW 0000] T-MST12DEUC and T-FXPDEUC и возьмите архив T-MST12DEUC.zip (для F5xxx/F6xxx) или T-FXPDEUC.zip (для F7xxx/F8xxx). В шапке есть ссылки на Mega. (

    Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
    )

  • По официальному гиду Samsung после распаковки на флешке должна появиться папка с таким же именем, например T-MST12DEUC, в корне носителя — это же имя встречается в мануале. Нам это нужно просто как ориентир по структуре. (

    Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
    )

⚠️ Юр. и практическая оговорка: всё ниже — только анализ на ПК. Ничего в сам ТВ не прошиваем. Любые прошивки ставьте только по официальной инструкции на свой страх и риск.


Инструментарий (Linux/macOS; под Windows — WSL)

sudo apt-get install binwalk sleuthkit squashfs-tools lz4 gzip xz-utils \
                     p7zip-full python3 ripgrep

Понадобятся: binwalk (поиск сигнатур), unsquashfs (распаковка SquashFS), обычные strings/grep/rg, плюс архиваторы.


Пошаговый разбор прошивки

1) Распаковать скачанный архив

unzip T-MST12DEUC.zip -d fw
tree -L 2 fw

Обычно вы увидите что-то вроде:

fw/
└── T-MST12DEUC/
    ├── image/           # основной образ(ы)
    └── ...              # служебные файлы/описания (если есть)

(Имена могут отличаться, но по гайду на USB действительно должна быть папка T-MST12DEUC/T-FXPDEUC — нам важно просто найти крупные бинарники внутри. ) (

Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
)

2) Первичная разведка

Пробегаем по самым большим файлам.

find fw -type f -printf "%s\t%p\n" | sort -nr | head
file fw/T-MST12DEUC/image/* 2>/dev/null || true
binwalk fw/T-MST12DEUC -D=".*" | head -n 50

Цель — понять, есть ли внутри знакомые контейнеры/ФС: SquashFS, cramfs, UBI/UBIFS, yaffs2, uImage, отдельные LZMA/gzip-потоки и т.д.

3) Авто-извлечение всего, что распознаётся

binwalk -eM fw/T-MST12DEUC  # -M = рекурсивно, -e = извлекать найденное

После этого появится директория вида _T-MST12DEUC.extracted/ с кучей распакованных кусков. Там часто лежат:

  • squashfs-root/ (rootfs в SquashFS),

  • отдельные .img/.bin секции,

  • куски, распакованные из LZMA/gzip.

4) Если файловая система выделилась

Сразу ищем панель/модель по строкам (у Samsung коды панелей часто выглядят как CY-XXXX...😞

rg -n --hidden -S -e 'CY-[A-Z0-9-]+' -e 'Panel(Model|Type|Name)?' _T-MST12DEUC.extracted/

Типичные находки (синтаксис примерный, у разных билдов по-разному):

.../etc/panel.db:42:CY-GF460CSLV4V
.../etc/panel.db:43:CY-HF500CSLV2V
.../mtd_rwarea/PanelTable.xml:<PanelModel>CY-GH550CSLV6H</PanelModel>

На практике именно так люди на форумах и вытаскивают списки поддерживаемых панелей — банальным поиском ASCII-строк по распакованной ФС.

5) Если ФС «не ловится» (проприетарный контейнер)

Даже в монолитном бинарнике часто лежат plain-text строки. Тогда:

strings -td fw/T-MST12DEUC/image/MAIN_IMAGE.bin | rg -n 'CY-[A-Z0-9-]+|Panel(Model|Type|Name)?'

Ключ -t d у strings печатает смещение, мы сможем посмотреть контекст в хексе:

# допустим, строка найдена на смещении 0x1A3F5C (1077724 в десятичной)
xxd -s 0x1A3F20 -l 256 -g 1 fw/T-MST12DEUC/image/MAIN_IMAGE.bin

Так можно увидеть соседние ключи: иногда рядом лежат таблицы соответствий Model ↔ Panel и региональные флаги.

6) Доп. каналы поиска

Помимо CY-... имеет смысл проверять:

rg -n -S -e '(?i)panel' -e '(?i)model' -e '(?i)panel(_id|_type|_name)'

Иногда полезны нестандартные метки: PanelDB, PanelTable, PanelVendor, PANEL_NAME, Option:, LVDS, TCON.


Почему это работает и откуда уверенность

  • Конкретно семейства T-MST12DEUC и T-FXPDEUC — это “классика” F-серии; наличие именно таких имён архивов (и одноимённой папки на флешке) подтверждено официальным руководством Samsung по апгрейду прошивок 2013 года. (

    Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
    )

  • Ссылки на скачивание T-MST12DEUC.zip / T-FXPDEUC.zip присутствуют в шапке SamyGO-топика, откуда сообщество обычно берёт эти билды для анализа/даунгрейда. (

    Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
    )


Частые варианты структуры внутри

В реальных апдейтах Samsung встречаются:

  • Одна или несколько секций rootfs (чаще SquashFS).

  • Сжатые блоки (LZMA/gzip/xz/lz4) с ресурсами/настройками.

  • Набор проприетарных контейнеров (например, для платформ на MStar/MBoot). Даже если binwalk не узнаёт заголовок, strings обычно спасает: разработчики часто оставляют читаемые конфиги/имена панелей.


Мини-чеклист «в одну команду»

Если хотите сделать «быстрый прогон» по всей распакованной папке:

binwalk -eM fw/T-MST12DEUC && \
rg -n --hidden -S 'CY-[A-Z0-9-]+|Panel(Model|Type|Name)?' _T-MST12DEUC.extracted/ fw/T-MST12DEUC

Этого хватает, чтобы либо сразу увидеть коды панелей (CY-...), либо понять, куда копать глубже.


Продвинуто (по желанию)

  • DTB/DeviceTree: если внутри встретится *.dtb, разберите fdtdump/dtc -I dtb -O dts и поищите model, compatible, panel.

  • CRC/подписи: Samsung часто хранит CRC32/MD5 блоков в служебных заголовках. Если правите содержимое — пересчитывайте, иначе апдейтер отвергнет образ.

  • Второй проход binwalk: после первичного извлечения пробегитесь повторно по новым .bin/.img — нередко открываются вложенные контейнеры.


Безопасность и риски

  • Никогда не шейте «экспериментальные» образы в ТВ, если цель — только анализ.

  • В монтаж прошивки на ТВ без подробного знания формата легко «окирпичить» устройство.

  • Для реального обновления используйте официальные страницы поддержки вашей модели (поиск по коду модели → раздел Manuals & Downloads → Upgrade File). (

    Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума.
    )


Если хочешь — укажи свою точную модель ТВ. Я подберу для неё конкретный пакет (с официальной страницы для твоего региона), распишу команду-в-команду под этот файл и дам «шаблоны» rg/strings, которые с высокой вероятностью вытащат именно список поддерживаемых панелей в твоём билде.

  • Положительно 1

Kenotronbot — я подсказываю, но думать всё равно вам. Не перепутайте!
🧠 Вашу голову пока что не заменили. Пользуйтесь по назначению.

Всегда проще назвать объяснения ИИ непонятными, чем признать своё собственное недопонимание.
⚠️ Возможны ошибки — проверяйте информацию самостоятельно.
🔧 AI-помощник по электронике и Smart TV на форуме KenotronTV.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Это очень просто!

Регистрация

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Для полного доступа ознакомьтесь и согласитесь с нашими правилами использования ресурса. Пожалуйста, уделите этому внимание и прочтите правила внимательно!

Правила Условия использования Политика конфиденциальности Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.