Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/113: Рейтинг темы: голосов - 113, средняя оценка - 4.86
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342

Стеганография в BMP

27.01.2010, 23:03. Показов 22910. Ответов 75
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выкладываю программу, которая записывает текстовое сообщение внутрь BMP или PNG
Для картинки 100*100 максимальная количество символов чуть меньше 3750.
Для человеческого глаза изменения не видны.

Позже сделаю шифрование зависимым от какого-нибудь ключа.

C#.NET Framework 2.0
Вложения
Тип файла: rar SteganographyInBmp.rar (7.7 Кб, 1259 просмотров)
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.01.2010, 23:03
Ответы с готовыми решениями:

Стеганография в BMP
Проект выполняющий метод lsb. В коде ошибки. Не могу понять как исправить. Прошу помочь, может кто разбирается в таких вещах. ...

Стеганография LSB BMP
Такой вопрос: мне нужно из едита побитно запихнуть в байты цвета файла-контейнера биты текста. Есть проблема, заголовок считываю, а вот как...

Стеганография в BMP. Полное руководство
СТЕГАНОГРАФИЯ в BMP ИЗОБРАЖЕНИЯХ Данная статья содержит готовый проект с подробным описанием алгоритма реализации шифрования...

75
 Аватар для deadlock
378 / 358 / 23
Регистрация: 14.12.2010
Сообщений: 1,265
11.01.2011, 09:25
Студворк — интернет-сервис помощи студентам
стеганография в растровых картинках очень уязвима для сжатия jpeg, есть набор специальных методов для увеличения стойкости информации, а так предложенные методы - будут успешно атакованы даже Paint'ом, в лучшем случае Photoshop'ом.
0
 Аватар для zalogic
194 / 193 / 15
Регистрация: 12.12.2010
Сообщений: 270
12.01.2011, 19:43
у меня нортон не дает её запустить, сразу удаляет, даже не пишет что вирус нашел.
0
Заблокирован
12.01.2011, 20:16
taras atavin, под вайном пробовал?

Добавлено через 2 минуты

Не по теме:

тема то старая...

0
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
18.03.2012, 16:14
Цитата Сообщение от Delphin_KKC Посмотреть сообщение
Можно включить поддержку несжатого TIFF. По сути - тот же ВМР, только заголовок чуть другой.
А многие фотоаппараты в таком формате фотки делают (например мой Olympus C770UZ).
Если же поддерживать TIFF со сжатием без потери данных - то придётся писать алгоритм его распаковки в оперативку и упаковки обратно.
Вот у меня возник вопрос, а надо ли распаковывать TIFF, сжатый алгоритмом LZW? Вот в этой теме Стеганография в BMP. Полное руководство ее автор Erravielle, говорит, что для алгоритмов сжатия без потери качества тот же принцип сокрытия, что и для простого BMP, т.е. распаковка не требуется. Пожалуйста, помогите разобраться.
0
 Аватар для Erravielle
345 / 56 / 4
Регистрация: 27.04.2009
Сообщений: 36
18.03.2012, 16:23
Вот у меня возник вопрос, а надо ли распаковывать TIFF, сжатый алгоритмом LZW?
В зависимости от того, как вы работаете с файлом - если с помощью класса, который позволяет обращаться к конкретным пикселам изображения и получать RGB, то не обязательно - все за вас уже сделано. ИМХО, это не самый лучший вариант в плане производительности.
Если же вы работаете с изображением как с вектором байт, то, во-первых, обязательно нужно отступить на длину заголовка файла, прежде чем заносить информацию, во-вторых, если файл каким-либо образом сжат, нужно его сначала распаковать
1
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
18.03.2012, 16:44
Цитата Сообщение от Erravielle Посмотреть сообщение
В зависимости от того, как вы работаете с файлом - если с помощью класса, который позволяет обращаться к конкретным пикселам изображения и получать RGB, то не обязательно - все за вас уже сделано. ИМХО, это не самый лучший вариант в плане производительности.
Если же вы работаете с изображением как с вектором байт, то, во-первых, обязательно нужно отступить на длину заголовка файла, прежде чем заносить информацию, во-вторых, если файл каким-либо образом сжат, нужно его сначала распаковать
Т.е. следует идти по тому пути, по которому пошли Вы? (Без применения векторов).
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
19.03.2012, 11:42
Цитата Сообщение от SSV Посмотреть сообщение
Выскакивает сообщение -"Не поддерживаемый формат"
тоже самое при попытки использовать jpg, с bmp все работает
0
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
20.03.2012, 14:49
Цитата Сообщение от Erravielle Посмотреть сообщение
http://www.autex.spb.ru/wavelet/books/stego.zip
вот тут хорошая книга по стеганографии... Стего в изображениях рассматривается в главах 5,6... Материала много, материал сложный... Но может помочь.
По мере возможностей постараюсь поучавствовать. . .
Может ли кто-нибудь подсказать авторов этой книги?

Уже выяснил - В. Г. Грибунин, И. Н. Оков, И. В. Туринцев.
0
 Аватар для Erravielle
345 / 56 / 4
Регистрация: 27.04.2009
Сообщений: 36
20.03.2012, 19:45
Цитата Сообщение от S_hmel Посмотреть сообщение
Т.е. следует идти по тому пути, по которому пошли Вы? (Без применения векторов).
Нет - это не лучший вариант. Позже я кое-что подправил в программе, а в частности добавил преобразование изображения в вектор и обратно. Но все-таки опираясь на функции класса Graphics::TBitmap а не работая чисто с форматом.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BYTE *BitmapToArray (Graphics::TBitmap *Bmp, ImageINFO BmpInfo)
{
BYTE * BitmapArr = new BYTE[BmpInfo.Width*BmpInfo.Height*3];
for(int Y = 0;Y < BmpInfo.Height-1; Y++)
{
    memcpy(&BitmapArr[Y*BmpInfo.Width*3],(BYTE*)Bmp->ScanLine[Y], BmpInfo.Width*3);
}
return BitmapArr;
}
 
Graphics::TBitmap *TOBitmap (BYTE *BitmapArray, Graphics::TBitmap *Bmp, int H, int W)
{
Graphics::TBitmap *Bitmap = Bmp;
 
for (int Y = 0; Y < H-1; Y++)
   {
      memcpy((BYTE*)Bitmap->ScanLine[Y],&BitmapArray[Y*W*3],W*3);
   }
return Bitmap;
}
Добавлено через 4 минуты
Цитата Сообщение от anonimus Посмотреть сообщение
тоже самое при попытки использовать jpg, с bmp все работает
Конечно не работает - и не будет работать. JPEG - формат сжатия с потерями. Не то чтобы нельзя было спрятать в него сообщение, но это процесс куда более трудоемкий, и во многих случаях легко обнаружаемый.
Есть вполне эффективные. Не хочется соврать, но вроде бы они основаны на вейвлет-преобразованиях а не на LSB
1
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
21.03.2012, 20:49
Цитата Сообщение от Erravielle Посмотреть сообщение
Нет - это не лучший вариант. Позже я кое-что подправил в программе, а в частности добавил преобразование изображения в вектор и обратно. Но все-таки опираясь на функции класса Graphics::TBitmap а не работая чисто с форматом.
Т.е., класс Graphics::TBitmap может работать с любым изображением, не обращая внимания на формат?
0
 Аватар для Erravielle
345 / 56 / 4
Регистрация: 27.04.2009
Сообщений: 36
24.03.2012, 09:08
Цитата Сообщение от S_hmel Посмотреть сообщение
Т.е., класс Graphics::TBitmap может работать с любым изображением, не обращая внимания на формат?
Насколько я знаю, TBitmap работает только с BMP форматом... я могу ошибаться, т.к. на плюсах последний раз давно писал и просто не помню.
P.S. Ничто вам не мешает поискать классы для работы с другими изображениями (простой способ) или, на крайний случай, почитать о структуре форматов - узнать Сигнатуры, размер заголовока файла, каким методом сжимается (это на порядок сложнее, я бы не тратил на это времени) и делать все вручную.
ИМХО, смотрите лучше в сторону готовых классов. весь необходимый функционал для вашей задачи там должен быть реализован.
По поводу TIFF (опять же, не соврать бы, вроде натыкался на библиотеку LibTIFF. Использовать не использовал, но название видел.

Вот сюда загляните, если TIFF интересует
1
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
31.03.2012, 21:20
Хороший источник, Erravielle! Есть вопрос - что такое Blob stream?
0
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
09.04.2012, 13:02
Erravielle, скачал с указанной вами ссылки проект tifftest, он при компиляции требует enetiff.bpi, найти который не удается.
0
 Аватар для taras atavin
4226 / 1799 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
09.04.2012, 13:04
Цитата Сообщение от HIMen Посмотреть сообщение
Для картинки 100*100 максимальная количество символов чуть меньше 3750.
2 бита на символ?
0
 Аватар для Erravielle
345 / 56 / 4
Регистрация: 27.04.2009
Сообщений: 36
09.04.2012, 13:10
Цитата Сообщение от taras atavin Посмотреть сообщение
2 бита на символ?
100px*100px*3(RGB)/8(вес 1го символа) = 3750

Добавлено через 3 минуты
Цитата Сообщение от S_hmel Посмотреть сообщение
Erravielle, скачал с указанной вами ссылки проект tifftest, он при компиляции требует enetiff.bpi, найти который не удается.
Я только предположил в какую сторону смотреть нужно. Как я уже говорил, на плюсах давненько не писал (за исключением QT разве что), так что, к сожалению, тут я ничем помочь не могу. Разве что на теории подсказать что
1
 Аватар для S_hmel
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
09.04.2012, 13:38
Erravielle, спасибо за теорию. Придется разбираться далее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2012, 13:38

Методы GetPixel\SetPixel BMP и стеганография
Подскажите, мне необходимо реализовать метод стеганографии &quot;&quot;замена палитры&quot;, следовательно нужно поместить как то свой текст в...

Стеганография в BMP попробуем вместе разложить все по полочкам
Здравствуйте уважаемые форумчане! Столкнулся с задачей написать программный продукт, реализующий стеганографический метод. ...

Стеганография. Написать метод для расшифровывания текста из картинки bmp
Помогите написать метод для расшифрования текста из картинки bmp

Нужна программа для упаковывания данных в WAV/BMP/AVI (не стеганография!)
Стеганография - это когда скрывается не только сообщение, но и сам факт его наличия. Мне это не нужно. Вполне достаточно, чтобы сообщение...

Работа с BMP-файлами (класс "8 битное BMP изображение)
Написать класс &quot;8 битное BMP изображение&quot;.Класс должен содержать 3 конструктора: конструктор по умолчанию, конструктор с параметрами и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
76
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru