Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.03.2016, 08:38
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию Свой кодер-декодер JPEG

Доброго всем.
Раскрою карты сразу - о скорости работы нет речи, надо в некотором бинарнике (прошивке) найти картинки JPG/JPEG, известны размеры изображения 800/480, изображение скорее всего лежит без служебной информации по некоторым смещениям внутри бинарника, служебка для встроенного декодера ненужна поскольку он и так всегда работает со стандартным размером и сжатием, а возможно и есть некоторая - пока не известно, но файл есть и просмотр в HEX редакторе показывает наличие структуры файла и наличие картинок там (в том числе и BMP).
2 Идеи как вскрыть/поменять картинки в бинарнике:
1) Влезть в тело библиотеки JPEG DCU иподставлять внутри там бинарный код для декодирования, поскольку JPEG.LoadFromFile читает все заголовки а мне они не известы в бинарнике.. - как влезть во внутрь?? не знаю...
2) Написать полностью свой кодер - декодер с нуля и уже в него подкидывать бинарные данные изображения из прошивки.

Что скажете?
Ответить с цитированием
  #2  
Старый 20.03.2016, 12:53
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А что сказать - большой вероятность того, что вскрытие формата не поможет, смысла нет. Там очень много файлов, можно заплутать в определениях. Лучше для начала попользуйте спец проги, типа драгонанпакера - это может вскрыть "потроха" всего и вся. Или, если средствами делфи, то тогда можно по заголовку и завершению рисунка найти его в теле бинарника загрузив в поток, а из него в image - если не ошибаюсь, любой jpeg начинается с #FF#D8...#4A#46#49#46 (...JFIF), а заканчивается обязательно на #FF#D9, можно кусок так определить для считывания в поток, это чтоб посмотреть картинку, а вот с её подменой может и не выйти, поскольку нет двух одинаковых рисунка при сжатии и может новый на старое место и не наложиться
Ответить с цитированием
  #3  
Старый 20.03.2016, 15:32
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию

За название проги спасибо, но это паковщик, мне кажется немного не то...
Сам формат файла открыт, и действительно по сигнатуре можно попытаться его найти - но это служебка - как раз то что в принципе ненужно для получения картинки.. поискал - нет JFIF ни разу, а FFD9 встречается несколько раз. А начало/конец картинки может быть в таблице какой-то, где-то находящейся в бинарнике...
Вот я и хотел тупо брать "мясо" бинарника и засовывать в процедуры декодирования, в которой есть параметры - размер, библиотека шаблонов и пр., по чему сжимается картинка и уже визуально смотреть - похоже на картинку результат или нет, с шагом каким-то (1-2-3...кб) признаки изображения так или иначе проглянут на канве, а потом уже более точно найти начало.
Длина картинки конечно разная, согласен, но надо найти их а потом уже поискать способ их записи туда, проанализировав их структуру упаковки в файл и есть ли конечный CRC или ещё что.
PS - Прога ничего из картинок ненашла (((
Ответить с цитированием
  #4  
Старый 20.03.2016, 15:49
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Что за бинарник-то? Есть пример или это тайна?
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #5  
Старый 20.03.2016, 15:58
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Скорее всего какой-то видеорегистратор, там обычно нет необходимости заголовок формата хранить т.к. размер картинки и способ сжатия жестко прошит.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #6  
Старый 20.03.2016, 16:14
-=#PupaJr#=- -=#PupaJr#=- вне форума
Новичок
 
Регистрация: 17.08.2010
Сообщения: 74
Репутация: 518
По умолчанию

Магнитола. Коммерции тут нет, тренеровка мозга и скушную картинку заменить на свою.
Вот файл.
)))
Вложения
Тип файла: rar my_sony_dvx7800_en25q16_v4.rar (1.06 Мбайт, 3 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter