На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Как в BIN файле найти графическое изображение
    Помогите советом. Вытащил дамп из приборной панели автомобиля. Хочу поменять стартовый "мультик" в своей старой панели, на "мультик" от новой панели. Как можно в BIN файле найти какие-то графические изображения? Естественно стартовые значения не известны, битность не известна и размер дисплея можно только примерно понимать. Это первая задача...
      Скинь дамп ознакомиться.
        Файл приложил, но он весовой. Поэтому на Я. диск загрузил
        https://disk.yandex.ru/d/WFAURPGmHjlk6g
          Цитата kaktusis @
          Как можно в BIN файле найти какие-то графические изображения?

          Думаю, так в лоб - не реально. Посмотрел "на перемотке" в шестнадцатеричном редакторе, в середине файла присутствуют какие-то повторяющиеся структуры. Есть предположение, что изображения зашиты там в каком-то сыром собственном формате. Лучше, наверное, копать в сторону поиска производителя, искать у него инструменты работы с прошивкой.
            Ну я нашёл фрагмент "мультика" который загружается при включении, но когда копирую из нового в старую, по размерам всё чётко, вставляю в нужную область. Запаиваю флешку и он у меня отображается не в правильных цветах. Всё показывает, но изображение немного не чёткое и цвета другие, может не чёткое из за цветов других.
              Твою бы тему в "Hardware" переместить - возможно там кто-то из "жестянщиков" подтянется.
                Я сделал небольшую программку для поиска картинки в бинарнике. Можно задавать ширину предполагаемого изображения и указатель в файле, откуда предполагается начало данных картинки. Картинку показывает на форму, считая что это XRGB несжатые данные. Опыт показывает, что картинки в других форматах, в том числе 8-16-24 битные узнаваемы при таком просмотре, хоть и искажены. Прилагаю программу с исходником на VB6 и пару найденных фрагментов. Они хоть в какой-то мере похожи на то, что требуется найти?
                Пользоваться так: любой файл (в данном случае бинарник) тянем мышкой на EXE и смотрим результат. Кнопкой "S" сохраняем то, что видим, в PNG файл.

                Прикреплённый файлПрикреплённый файлBinView.zip (32,07 Кбайт, скачиваний: 142)
                Прикреплённая картинка
                Прикреплённая картинка

                Прикреплённая картинка
                Прикреплённая картинка
                  Цитата Mikle @

                  КРУТО! Но я не могу запустить прогу. Не могу понять что такое.

                  Добавлено
                  https://disk.yandex.ru/d/7MHQw9AstXuqBQ
                  Выложил два видео файла - один с красным мультиком, как он должен показываться в оригинале, а второй, где синие цвета это я перенёс мультик в бин файле из нового в старый. Подскажите, похоже, что цвета перевернуты или нет?

                  Два файла BIN: Со старой прошивкой и с новой.

                  Начало мультика в старой прошивке: 012E1770 - конец: 0199AEFF

                  Начало мультика в новой прошивке: 01597А10 - конец: 1С5119F

                  Вопрос, может просто я не правильно нашёл начало и конец мультика, поэтому отображение идёт смещенное?
                    Цитата kaktusis @
                    не могу запустить прогу

                    Я написал:
                    Цитата
                    любой файл (в данном случае бинарник) тянем мышкой на EXE

                    То есть прямо на экзешник в проводнике, а не на запущенную прогу. Если на неё ничего не тянуть, она и не запускается.
                    Сейчас скачал файлы и проверил - действительно, не срабатывает, я не сделал правильную обработку пробелов в именах файлов. Просто переименуй бинарники, чтобы не было пробелов, и запустится.
                    Кстати, старая и новая прошивки разных размеров. Это нормально?
                    Сообщение отредактировано: Mikle -
                      Вообще у меня одинаковых размеров. Хммм, на яндексе диски смотрю 32 769 кб. оба

                      Добавлено
                      Цитата Mikle @

                      Запустил прогу, классная штука. разрешение 144 ставишь и смотришь. Благодаря проги я случайно увидел, что мультик состоит из трёх одинаковых мультиков. Очень интересно стало. Жалко прога цветность не показывает
                        Если в байтах, то новый:
                        33 554 688
                        старый:
                        33 554 432
                        Цитата kaktusis @
                        Жалко прога цветность не показывает

                        Она для предварительного поиска изображения, дальше уже искать кодировку надо.
                          Цитата Mikle @

                          У меня такой же размер если через WinHex смотреть как и у тебя получился, а это может иметь значение? Получается может быть с разных байт начало идти?
                            Цитата kaktusis @
                            это может иметь значение? Получается может быть с разных байт начало идти?

                            Получается, что один из образов может быть неправильным. Если эта прошивка - образ ПЗУ, то размер должен быть круглым. 33 554 432 - это 0x2000000, похоже, а вот 33 554 688 - это 0x2000100. Может, при патче файл был повреждён?
                              Цитата Mikle @
                              Получается, что один из образов может быть неправильным. Если эта прошивка - образ ПЗУ, то размер должен быть круглым. 33 554 432 - это 0x2000000, похоже, а вот 33 554 688 - это 0x2000100. Может, при патче файл был повреждён?


                              Попробовал новую считать, и он тоже на новой приборке считывает 0х2000100 - и выдаёт за правду

                              В конце у него дополнительный блок информации. Теперь тоже понять не могу в чём проблема.
                              Прикреплённая картинка
                              Прикреплённая картинка
                                На счёт того, похоже ли это на RGB-BGR несоответствие. По видео сказать трудно, в целом - похоже, сильно мешает муар, вызванный, так понимаю, интерференцией развёрток дисплея и снимающей камеры. Но так же это похоже на несоответствие палитры, если изображение 8-ми или меньше битное с зашитой в файл палитрой.
                                  Цитата Mikle @
                                  На счёт того, похоже ли это на RGB-BGR несоответствие.

                                  Я тоже о таком подумал, когда посмотрел видео. Но как ещё один вариант это смещение на пару байт в файле RGB изображений.
                                    Цитата Mikle @
                                    изображение 8-ми или меньше битное с зашитой в файл палитрой.


                                    Вот я уже об этом тоже подумал, что возможно там есть палитра, получается мне и новую палитру нужно переносить. Опять же возникает вопрос, а как найти палитру в файле?

                                    Добавлено
                                    Цитата macomics @
                                    Я тоже о таком подумал, когда посмотрел видео. Но как ещё один вариант это смещение на пару байт в файле RGB изображений.


                                    Опять же, и про смещение думал, но она встала чётко в этом месте, попробовать подрезать пару байт? И по видео понимаю, что читает мультик с конца. Получается конец не совпадает. Вот и думаю, как можно понять есть ли палитра и как понять про смещение. Эти вопросы у меня и не ушли ((((((
                                      Цитата kaktusis @
                                      Вот и думаю, как можно понять есть ли палитра

                                      Обычно палитра это линейный массив цветов, но тогда изображение (основная матрица данных) состоит не из цветов (данных кодирующих цвет), а из индексов в этой палитре. Судя по тому, что программа для поиска изображений отобразила правильно цветовые элементы, тогда основное изображение это именно данные по цвету, а не индексы. Поэтому я считаю, что тут палитры быть не может. А вот данные по цветам могут сохраняться как в формате RGB (255=R, 255=G, 255=B, по одному байту на компонент) или в формате BGR (255=B, 255=G, 255=R, тоже по одному байту на компонент, но в обратном порядке). Про форматы RGBA и BGRA говорить не будем т.к. там появляются полоски (столбцы) при смещениях на 2 байта матрицы данных цветов.

                                      Надо учитывать то, что данные цветов могут быть выровнены по строкам
                                      Скрытый текст
                                      пример для 3х3:
                                      ExpandedWrap disabled
                                        RGBRGBRGBAAA
                                        RGBRGBRGBAAA
                                        RGBRGBRGBAAA

                                      RGB - данные цвета, A - выравнивание до кратного 4-м адреса
                                      Сообщение отредактировано: macomics -
                                        Цитата macomics @
                                        RGB - данные цвета, A - выравнивание до кратного 4-м адреса



                                        Можно "разжевать"? Построчно? Тут немного не понимаю сути. Как это реально можно проверить?

                                        Добавлено
                                        Парни, предложите пожалуйста какой нибудь вариант, я попробую прошить железо и посмотреть. Я просто остановился на этом и уже в затыке, туплю и не могу что то сделать. Ещё раз повторю, за помощь отблагодарю :blush: :blush: :blush:
                                          Цитата kaktusis @
                                          Можно "разжевать"? Построчно?

                                          Вот картинка 3x3
                                          Прикреплённая картинка
                                          Прикреплённая картинка


                                          Если открыть её в 16-м виде, тогда увидим следующее:
                                          Первая строка
                                          Прикреплённая картинка
                                          Прикреплённая картинка

                                          Вторая строка
                                          Прикреплённая картинка
                                          Прикреплённая картинка

                                          Третья строка
                                          Прикреплённая картинка
                                          Прикреплённая картинка


                                          Как можете видеть в конце каждой строки стоит три 00 00 00. Это выравнивание строк
                                          При это можно понять, что 3C00BA это красный пиксеть, а FFFFFF это белый.

                                          При этом каждый пиксель это группа из 3-х компонентов цвета: R=BA=186, G=00=0 и B=3C=50 для красного и R=FF=255, G=FF=255, B=FF=255
                                          Если посмотреть на порядок байтов, то тут используется RGB (R старшие разряды числа, а B - младшие). Но может быть и наоборот: BGR = BA003C - красный цвет при этом R=BA=186, G=00=0 и B=3C=50 значения цветовых компонентов не поменялись, но поменялся порядок байтов в файле.
                                            А вот описания остальных полей и значений в файле
                                            Прикреплённая картинка
                                            Прикреплённая картинка

                                            Прикреплённая картинка
                                            Прикреплённая картинка

                                            Прикреплённая картинка
                                            Прикреплённая картинка
                                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                            0 пользователей:


                                            Рейтинг@Mail.ru
                                            [ Script execution time: 0,0704 ]   [ 23 queries used ]   [ Generated: 19.07.24, 15:14 GMT ]