2

Я знаю , что от руководства , как это , что это довольно легко добавить архив RAR до конца JPG. Я хочу знать, могут ли только файлы JPG обрабатывать дополнительные данные в конце, и могу ли я добавить любой произвольный двоичный объект в конец JPG. Меня не волнует, будет ли файл, который я добавляю в конец, распознавать его программа, мне важно, чтобы JPG выглядел точно так же для зрителей изображений.

Чтобы дать немного более конкретную информацию о моем случае использования, я пытаюсь реализовать механизм резервного копирования в веб-приложении, ориентированном на мобильные устройства. Мне нужно, чтобы это работало для iOS, поэтому единственный доступный способ - использовать данные, сохраненные в файле изображения. Это немного неуклюже, но меня утешает понимание того, что в этом случае есть смысл. В приведенной выше ссылке показано, что файлы RAR, добавленные в JPG, по-прежнему можно открывать, так как я предполагаю, что для RAR не требуется смещение нуля в данном файле, и что архивные приложения будут искать заголовок RAR , Я хочу реализовать нечто подобное для произвольного двоичного двоичного объекта, запрограммированного в Javascript.

1 ответ1

1

будь то только файлы JPG, которые могут обрабатывать дополнительные данные в конце

Любой формат файла, который объявляет размер своего содержимого, может быть дополнен случайными данными и все еще правильно проанализирован приложениями, совместимыми со спецификацией. Файлы JPG состоят из нескольких сегментов, причем сегменты с динамической длиной вначале объявляют их длину. Таким образом, любые случайные данные, добавленные в конце, должны работать, так как приложение, читающее их, не должно даже обращаться к этим добавленным данным. То же самое с PNG (каждый кусок в начале объявлял свою длину). Это не будет работать на MP3, к сожалению.

Однако это будет работать только на совместимых приложениях. Некоторые приложения могут использовать ярлыки для уменьшения памяти или ускорения чтения, что может привести к искажению изображения. Сами приложения могут не загружаться при загрузке больших файлов из-за собственных ограничений /framework /device.

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