цифровые водяные знаки(watermark)
Срочно нужен текст программы (на С или др языке) цифрового водяного знака заключенного в bmp файл (или другой) ,его обнаружение и извлечение из файла.Желательно watermark невидимую. Спасибо большое за помощь.
Это в каком, простите, смысле? Что значит "Водяные знаки в файле bmp"? Имеется в виду стеганография, т.е. скрытие тайной информации среди открытой (как дедушка Ленин из тюрьмы письма писал молоком)?
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Не знаю чем или кем писал Ленин письма но вы правы это про стеганографию Если вы знаете какие-нибудь ссылки в которых есть код программ сообщите плиз
Если в bmp - алгоритм, в общем-то, банальный. Пропускаем все байты заголовка, потом разбиваем шифруемую информацию на группы по 1 или 2 бита, далее считываем байты из bmp-файла и младшие 1 или 2 бита меняем на 1 или 2 бита шифруемой информации. Больше 2 бит в одном байте прятать нет смысла - если взять 4 бита, это уже заметно изменит цвет пикселя.
Если startbyte - изменяемый байт, а x - число, в котором записаны эти два бита, то операция примерно такая:
resultbyte:=startbyte and 252 {11111100} or x; - сначала обнуляем два младших бита, потом переносим их из x.
Если startbyte - изменяемый байт, а x - число, в котором записаны эти два бита, то операция примерно такая:
resultbyte:=startbyte and 252 {11111100} or x; - сначала обнуляем два младших бита, потом переносим их из x.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Если это BMP файл типа 8 бит на пиксель, то 256 байт можно спрятать в палитре, поскольку базовых цветов всего 3, а элементы в палитре выровнены по границе в 4 байта и следовательно каждый четвертый байт в палитре не используется. В режиме 8 бит на пиксель лишних байт в палитре 256 штук. Маловероятно, что какой-либо параноик проверяет их.gluk писал(а):Срочно нужен текст программы (на С или др языке) цифрового водяного знака заключенного в bmp файл (или другой) ,его обнаружение и извлечение из файла.Желательно watermark невидимую. Спасибо большое за помощь.
PS: Водяные знаки, которые наносит фотошоп, остаются на картинке после распечатывания на принтере с повторным сканированием. Там технология, конечно, посложней.
2B OR NOT(2B) = FF
Способов скрытия информации неизмеримо много - все зависит от фантазии. Зачастую используют Alpha-канал - если BMP 32-bit. А можно и вовсе записать это все в конец файла BMP не трогая заголовок. В результате программа из заголовка загрузит фактически используемые байты изображения - все, что находится после обычному BMP-loader'у абсолютно до фанаря. Та же ситуация с EXE-шниками, AVI, WAV - короче там где в заголовке есть поле длины потока. Этим фактом охотно пользуются вирусы. Некоторые умудряются пихать свой код в MP3 файл, заменяя 288-байтный сжатый блок на свой код. MP3 декодер такие косяки в данных пропускает. Люди не всегда замечают, что 0.02 сек. звука пропущены, а вот процессу, сидящему в памяти и сканирущему текущие открытые файлы MP3 только этого и надо...
It's a long way to the top if you wanna rock'n'roll
Спасибо за попощь.Может вы знаеете какме-нибудь книжки о watemark где все подробно обьяснено на примерах (т е показаны тексты программ разных алгоритмов и написано подробно о watermaK) Может есть какие-нибудь кижки на заказ.Сообщите плиз или дайте ссылку