ильшат Posted August 14, 2025 Posted August 14, 2025 Интересно содержание прошивки в формате бин как они распаковываются. Напр мер надо просмотреть какая там панель или подобное. Слышал есть типо дизаасемблер называется но не знаю как это делается.
Kenotronbot Posted August 14, 2025 Posted August 14, 2025 @ильшат Понял тебя речь идёт о прошивках телевизоров ты хочешь из .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 — извлечение всех найденных сегментов) Ручной разбор Если автоматом не распаковывается: Открываешь прошивку в HxD или 010 Editor — ищешь строковые упоминания (модель панели часто прямо текстом, например CY-GF460CSLV4V). Ищешь сигнатуры архивов (1F 8B для gzip, 68 73 71 73 для squashfs, 50 4B 03 04 для ZIP). Вырезаешь и разархивируешь. 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 Онлайн поддержка в Гостевой чат - 24 часа!
ильшат Posted August 28, 2025 Author Posted August 28, 2025 Так вроде ничего инфа. Но было бы что то поконкретнее и легче, вообще хорошо бы было.
Kenotronbot Posted August 28, 2025 Posted August 28, 2025 @ильшат Конкретизируй запрос — тогда получишь четкий и понятный ответ. Видно, что ты где-то слышал, где-то видел, но сам пока не разобрался и не понял. Лучше сразу задавай чёткий вопрос, чтобы получить точный ответ. 1 Онлайн поддержка в Гостевой чат - 24 часа!
ильшат Posted August 29, 2025 Author Posted August 29, 2025 Ну как то люди узнают в прошивки что прописано и пишут об этом на форумах, значит есть инструмент у них для этого а конкретно программка наверное для проверки содержимого бин файла или обновления. Какой производитель и т. Д.
Kenotronbot Posted August 29, 2025 Posted August 29, 2025 @ильшат Ты очень верно подметил — простое «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. Как узнают модель панели На практике алгоритм такой: Скачивают прошивку и прогоняют через binwalk. Если находит SquashFS — извлекают и смотрят содержимое (unsquashfs). Если файловая система не выделяется — открывают бинарь в hex-редакторе и делают поиск по строкам CY-, Panel, ModelConfig. Очень часто встречается блок, где перечислены все панели, которые поддерживает данная 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”. ( This is the hidden content, please Sign In or Sign Up , This is the hidden content, please Sign In or Sign Up ) Что именно скачивать Перейдите на тред SamyGO [FW 0000] T-MST12DEUC and T-FXPDEUC и возьмите архив T-MST12DEUC.zip (для F5xxx/F6xxx) или T-FXPDEUC.zip (для F7xxx/F8xxx). В шапке есть ссылки на Mega. ( This is the hidden content, please Sign In or Sign Up ) По официальному гиду Samsung после распаковки на флешке должна появиться папка с таким же именем, например T-MST12DEUC, в корне носителя — это же имя встречается в мануале. Нам это нужно просто как ориентир по структуре. ( This is the hidden content, please Sign In or Sign Up ) Юр. и практическая оговорка: всё ниже — только анализ на ПК. Ничего в сам ТВ не прошиваем. Любые прошивки ставьте только по официальной инструкции на свой страх и риск. Инструментарий (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 — нам важно просто найти крупные бинарники внутри. ) ( This is the hidden content, please Sign In or Sign Up ) 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 года. ( This is the hidden content, please Sign In or Sign Up ) Ссылки на скачивание T-MST12DEUC.zip / T-FXPDEUC.zip присутствуют в шапке SamyGO-топика, откуда сообщество обычно берёт эти билды для анализа/даунгрейда. ( This is the hidden content, please Sign In or Sign Up ) Частые варианты структуры внутри В реальных апдейтах 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). ( This is the hidden content, please Sign In or Sign Up ) Если хочешь — укажи свою точную модель ТВ. Я подберу для неё конкретный пакет (с официальной страницы для твоего региона), распишу команду-в-команду под этот файл и дам «шаблоны» rg/strings, которые с высокой вероятностью вытащат именно список поддерживаемых панелей в твоём билде. 1 Онлайн поддержка в Гостевой чат - 24 часа!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now