4

Я пытаюсь выяснить, как определить, есть ли в файле изображения другие файлы, скрытые внутри него?

ссылка по теме:

1 ответ1

12

Простые методы

Метод с помощью ImageMagick/ конвертировать инструмент

Используйте командный инструмент ImageMagick для convert различий между исходным файлом и преобразованным. Например

$ convert original.jpg converted.jpg  # this is an ImageMagick command
$ ls -l original.jpg converted.jpg
  667228 original.jpg
  648515 converted.jpg

Затем вы можете сравнить двоичный файл, см .: Как сравнить двоичные файлы в Linux?

Метод через строки

Ищите любой подозрительный контент через strings . Он будет печатать любые печатаемые строки в файле, которые могут указывать некоторые скрытые файлы, сообщения или содержимое. Например:

$ strings -10 image.jpg

Пример изображения: исходное изображение со скрытым сообщением, которое запустило Cicada 3301


Продвинутые методы

Метод с помощью hexdump

Каждый файл JPEG начинается с SOI (начало изображения) с двоичным значением 0xFFD8 и заканчивается маркером EOI (конец изображения), который имеет двоичное значение 0xFFD9 .

Поэтому вы можете попытаться проверить наличие дополнительного содержимого после маркера EOI. В примере:

hexdump -C image.jpg  | less +/"ff d9"
hexdump -C image.jpg  | more +/"ff d9"

Метод через xdd

Используйте инструмент командной строки xdd с tr и sed для печати содержимого после маркера EOI.

В примере:

xxd -c1 -p image.jpg | tr "\n" " " | sed -n -e 's/.*\( ff d9 \)\(.*\).*/\2/p' | xxd -r -p

Подробнее: Как вывести часть двоичного файла на SE


Связанные с:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .