![]() |
![]() |
Тёмный Эльф |
![]() ![]()
Сообщение
#1
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Нужно в bmp файл "засунуть" текстовый файл. Не очень понимаю как это осуществить. Может быть представить два массива. В один считывать инфу из текстового файла ,а в другой из графического? Но можно ли будет потом простым присваиванием заменить байты??
Надо заменой байтов получить скрытое предложение в графическом файле... Я знаю еще, что для скрытия текста можно воспользоваться методом замены наименее значимых бит в глобальной палитре графического файла по алгоритму: в каждом байте палитры записывается в результирующий файл. не совсем ясный алгоритм. и еще: палитра здесь имеется ввиду,что 256 элементов по 4 байта (из структуры bmp) ? Есть ли у кого-нибудь есть идеи насчет этого, то напишите пожалуйста. |
![]() ![]() |
hardcase |
![]()
Сообщение
#2
|
![]() code warrior ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: ![]() ![]() ![]() |
Нужно в bmp файл "засунуть" текстовый файл. Велосипеды...... еле его отыскал. За глупое название - не ругать, писал лет сто назад, под blind Guardian.Идея: Берём битмап с форматом пикселя 32 бита. В каждую компоненту цвета пишем младшим битом бит данных. Т.о. для записи байта нам нужно 2 пикселя. Прога практического смысла не несёт и лишь иллюстрирует саму идею стеганографии. В реале стоит использовать JPEG, хотя бы потому как в этом формате изображения в основном и распростараняются. Для записи overlay-данных нужно менять кое какие коеффициенты (нада смотреть формат jpeg) - на глаз разницы никакой, а инфы записать можно очень много (это со слов одного нашего преподавателя). Сообщение отредактировано: hardcase - 17.05.2007 11:15 Прикрепленные файлы ![]() -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Тёмный Эльф |
![]()
Сообщение
#3
|
![]() Влюблённый псих ![]() ![]() ![]() Группа: Пользователи Сообщений: 185 Пол: Женский Реальное имя: Лейла Репутация: ![]() ![]() ![]() |
Цитата Прога практического смысла не несёт и лишь иллюстрирует саму идею стеганографии. прога к сожалению не откомпилировалась, но все-равно спасибо. Кстати,хочу на Си это написать. Вот примерный алгоритм. 1. проверить формат рисунка. Если не bmp, выход из программы. (искать надо будет по сигнатуре "BM". Так как я с графическими файлами еще не работала, я плохо представляю как это можно сделать. Ладно там строку "BM" найти в текстовом файле, но в графическом..) 2. найти общую информацию о файле (глобальная палитра, размер файла). если палитра не найдена, то выход из программы, иначе узнать размер палитры. (что такое палитра пока плохо понимаю) 3. узнать размер файла, коорый требуется застенографировать. Нужно знать степень упаковки (которая указывает на количество бит , помещаемое в один байт графического изображения) и проанализировать, поместится ли файл в глобальную палитру. 4. занести информацию о типе стеганографируемого файла и его размер в байтах. Затем занести текст. 5. скопировать оставшийся графичекий файл в новый и завершить работу. (приступила к первому пункту всего-лишь и уже неясности. ) |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 21:34 |