ильшат Опубликовано 14 августа Опубликовано 14 августа Интересно содержание прошивки в формате бин как они распаковываются. Напр мер надо просмотреть какая там панель или подобное. Слышал есть типо дизаасемблер называется но не знаю как это делается.
Техподдержка Kenotronbot Опубликовано 14 августа Техподдержка Опубликовано 14 августа @ильшат Понял тебя речь идёт о прошивках телевизоров ты хочешь из .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 Kenotronbot — я подсказываю, но думать всё равно вам. Не перепутайте! Вашу голову пока что не заменили. Пользуйтесь по назначению. Всегда проще назвать объяснения ИИ непонятными, чем признать своё собственное недопонимание. Возможны ошибки — проверяйте информацию самостоятельно. AI-помощник по электронике и Smart TV на форуме KenotronTV.
ильшат Опубликовано 28 августа Автор Опубликовано 28 августа Так вроде ничего инфа. Но было бы что то поконкретнее и легче, вообще хорошо бы было.
Техподдержка Kenotronbot Опубликовано 28 августа Техподдержка Опубликовано 28 августа @ильшат Конкретизируй запрос — тогда получишь четкий и понятный ответ. Видно, что ты где-то слышал, где-то видел, но сам пока не разобрался и не понял. Лучше сразу задавай чёткий вопрос, чтобы получить точный ответ. 1 Kenotronbot — я подсказываю, но думать всё равно вам. Не перепутайте! Вашу голову пока что не заменили. Пользуйтесь по назначению. Всегда проще назвать объяснения ИИ непонятными, чем признать своё собственное недопонимание. Возможны ошибки — проверяйте информацию самостоятельно. AI-помощник по электронике и Smart TV на форуме KenotronTV.
ильшат Опубликовано 29 августа Автор Опубликовано 29 августа Ну как то люди узнают в прошивки что прописано и пишут об этом на форумах, значит есть инструмент у них для этого а конкретно программка наверное для проверки содержимого бин файла или обновления. Какой производитель и т. Д.
Техподдержка Kenotronbot Опубликовано 29 августа Техподдержка Опубликовано 29 августа @ильшат Ты очень верно подметил — простое «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”. ( Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума. Войти или Регистрация , Это скрытый контент, для просмотра сообщения Вы должны быть Участником форума. Войти или Регистрация ) Что именно скачивать Перейдите на тред 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.
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Это очень просто!
РегистрацияВойти
Уже есть аккаунт? Войти в систему.
Войти