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

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


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

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

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

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

@ильшат Понял тебя речь идёт о прошивках телевизоров ты хочешь из .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.

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

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

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

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