Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Спрятать бинарный файл в jpg картинке |
Автор: komsomolec 7.8.2013, 17:35 |
Друзья, стоит интересная задача: Есть бинарный файл и есть картинка. Надо слить эти 2 файла и чтоб картинка открывалась как jpg, но в ней присутсвовали скрытые байты. И только специальная программа умела достать эти байты с картинки (по номеру байта или как-то еще) Подскажите возможно ли такое, есть для этого какой-то софт или решения, укажите направления куда двигаться... |
Автор: Akina 7.8.2013, 17:42 |
Курим гугль по слову "стеганография" |
Автор: nworm 7.8.2013, 18:04 |
Самый простой способ - пишите бинарник прямо в хвост файла с картинкой. |
Автор: _Y_ 7.8.2013, 20:43 |
Это, как понимаю, способ посылки скрытых сообщений. Про jpg не знаю. Он сжатый - надо копаться как формат устроен. Но, в принципе, прятать сообщения в картинки довольно просто. Берется картинка пестренькая такая, скажем RGB - три цвета на пиксель. Каждый цвет кодируется 16 битами. При этом, если на картинке пестрота всех цветов, никто никогда не сможет определить если, скажем, младшие 6, а то и 8 бит не соответствуют оригиналу, а несут текстовую информацию. Если надо не только спрятать, но и закодировать - используются младшие биты не каждого цвета в каждом пикселе, а только выбранные в соответствии с каким-то ключом или, лучше, картой. При этом, чем меньший процент бит картинки используется для переноса сообщения, тем лучше оно спрятано. Но, соответственно, тем большая картинка нужна. ЗЫ: Репродукцию самой известной картины Малевича не берите - сразу попалитесь ![]() |
Автор: Alexeis 7.8.2013, 22:18 |
jpg жмется так что потеряется инфа. С жепегом да, концовочку можно фигачить. Парсер видит финализирующий тег и дальше не читает. Известный способ. |
Автор: Akina 7.8.2013, 22:40 |
http://steghide.sourceforge.net/ |
Автор: Alexeis 7.8.2013, 22:45 |
Не ну, есть конечно избыточные коды. Можно добавлять до 50% информации для восстановления, потом кодировать эту инфу и затем исправлять ошибки. |
Автор: _Y_ 9.8.2013, 08:02 |
Дык я об этом и думал когда писал, но выразился в очень уж неявном виде ![]() komsomolec, а обязательно jpeg? Нельзя пользовать какой-нибудь формат, не теряющий информацию? |
Автор: dm9 12.8.2013, 12:52 |
Готовый сервис для выполнения задачи + исходники: http://darkjpeg.github.io/ Статья с подробным описанием этого сервиса: http://habrahabr.ru/post/187402/ |