RARJPEG
RARJPEG — особый вид файлового контейнера: иллюстрация JPEG, к которой встык (в тот же файл) дописан архив RAR. В зависимости от расширения такой файл может восприниматься различными программами и как иллюстрация JPEG, и как архив RAR. Это обстоятельство позволяет, например, использовать имиджборды (принимающие только иллюстрации) в качестве анонимных файловых хостингов для архивов.
Тот же метод может использоваться и для некоторых других форматов: к иллюстрациям JPEG, GIF, PNG или ко звукозаписям WAV могут быть дописаны архивы RAR или ZIP или звукозаписи MP3. Впрочем, для открытия RAR-архивов и особенно ZIP-архивов из такого файла сгодится далеко не всякий архиватор — WinRAR, впрочем, справляется.
Технологически сей метод основан на том, что программа, читающая первый файл, игнорирует все данные, следующие за логическим концом его (и оттого игнорирует весь второй файл), а программа, читающая второй файл, настойчиво разыскивает его заголовок и игнорирует всё, что заголовку предшествует (и тем самым способна сперва пропустить весь первый файл, ничуть им не смущаясь, после чего начать чтение сразу со второго).
В системах DOS и Windows подобные файлы могут создаваться командою двоичного копирования со слиянием:
copy /b file1.jpg+file2.rar result.jpg
Эта команда, однако, не выдаёт видимой ошибки, если второй файл отсутствует, а просто создаёт результат, идентичный первому файлу — так что поневоле приходится проявлять бдительность.
В *nix-подобных системах сия операция проделывается следующим образом:
cat file1.jpg file2.rar > result.jpg