|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
Стеганография в BMP27.01.2010, 23:03. Показов 22918. Ответов 75
Метки нет (Все метки)
Выкладываю программу, которая записывает текстовое сообщение внутрь BMP или PNG
Для картинки 100*100 максимальная количество символов чуть меньше 3750. Для человеческого глаза изменения не видны. Позже сделаю шифрование зависимым от какого-нибудь ключа. C#.NET Framework 2.0
1
|
|
| 27.01.2010, 23:03 | |
|
Ответы с готовыми решениями:
75
Стеганография в BMP Стеганография LSB BMP Стеганография в BMP. Полное руководство |
|
|
|
| 09.02.2010, 20:44 | |
|
> Оригинальную мы теряем, но на глаз полученная не отличается от оригинала
То, что картинка меняется - это понятно. Мне почему-то сначала казалось что для восстановления нужен оригинал. Думал, что мы вносим возмущение, а потом через оригинал это самое возмущение считаем. Только когда я отправил пост, до меня дошло, что мы просто затираем часть информации, а потому оригинал неважен Но потом меня посетили сомнения по поводу jpeg'а, ибо я видел, что программа умеет работать с ним. Но на работе не было возможности проверить. Теперь допёрло, что jpeg только читается, но не пишется. > Возможно, я не очень точно описал алгоритм. Если интересует - его описание есть в интернете Я знаю, как устроен jpeg на алгоритмическом уровне. Потому и спросил про него. Но мне кажется, что левый верхний бит не может сохраняться из-за того, что используется дискретное косинусное преобразование. С математикой у меня туго, но при этом теоретически весь квадрат может испортиться. А вот после преобразования, возможно, левый верхний пиксель и сохраняется, поскольку теперь он соотвествует самой низкой частоте. Т.е. вопрос с jpeg'ом, судя по всему, остаётся открытым. А какова область практического применения такого кодирования? Если нужно от кого-то втихаря что-то передавать, но при этом всё должно оставаться на виду, то постоянные пересылки в форматах bmp и ico в теории должны навести на подозрение
0
|
|
|
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
|
||||||
| 09.02.2010, 21:55 | ||||||
|
Собственно, первая моя программа такого типа писалась на паскале под консоль. И там вообще никаких классов не было. BlockRead/BlockWrite. Программа была призвана сохранять мелкие файлы в фотках. Пароли, например, так можно хранить. А многие фотоаппараты в таком формате фотки делают (например мой Olympus C770UZ). Если же поддерживать TIFF со сжатием без потери данных - то придётся писать алгоритм его распаковки в оперативку и упаковки обратно. Так же перспективен формат RAW - побитовая копия матрицы фотоаппарата (вообще без каких либо заголовков, для корректного просмотра таких файлов нужно знать в каком разрешении снимок делался, но для шифрования это некритично)
1
|
||||||
|
|
||||
| 09.02.2010, 22:21 | ||||
|
0
|
||||
|
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
|
|
| 09.02.2010, 22:34 | |
|
ну так можно просто файлик на файлообменник выложить или свою новую фотку вконтакте добавить! а там пароль.
эх, если будет совсем не лень, попробую завтра дешифратор написать идея в том, что если сделать ДПФ на фотке, то появятся всплески в области высоких частот (ну, потому что картинка содержит в основном крупные элементы, соответствующие нихким частотам, а измененные биты добавляют ВЧ шум. не знаю, что получится, но заготовки для ДПФ у меня есть уже...
0
|
|
|
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
|
|
| 10.02.2010, 00:08 | |
|
По идее в JPEG можно найти байты, изменение младшего бита которых не вызывает заметных изменений цвета. И эти байты использовать для хранения скрытой информации. Если после сохранения в файле информации его не редактировать - то хоть косинусное преобразование, хоть Фурье - без разницы.
0
|
|
|
|
|
| 10.02.2010, 00:22 | |
|
Ты уверен, что можно найти? Вот у меня такой уверенности нет
Добавлено через 4 минуты jpeg - это алгоритм с компрессией данных. А любая компрессия подразумевает отсуствие избыточных данных. Т.е. каждый бит является важным и изменение одного бита в бинарном предсталвнии (т.е. напрямую в файл без разжимания изображения) приведёт к тому, что картинка попросту не будет читаться
0
|
|
|
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
|
||
| 10.02.2010, 11:32 | ||
|
Вот ссылка на страницу с описанием одной бесплатной программки времён Win95 (на ХР работает. проверял), которая скрывает файлы в картинках JPG: http://inoe.name/38476-steganografija.html
0
|
||
|
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
|
|
| 10.02.2010, 16:08 | |
|
Да, там экзешник. Но раз есть такая программа - значит в JPG возможно сохранять инфу, а значит есть и алгоритм нахождения этих самых "не очень важных" байт.
Честно говоря, мне самому интересен алгоритм её работы. А именно - алгоритм нахождения в jpeg-файле байтов, которые относительно безболезненно можно менять.
0
|
|
|
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
|
|
| 10.02.2010, 20:43 | |
|
Возможно. Но как тогда определить этот момент выравнивания?
В справке той программы написано: "файл может скрыть приблизительно 10 % своего собственного размера" (правда, там на английском, я перевёл). Точный максимальный размер скрываемого файла программа вычисляет индивидуально для каждого файла. Так что вполне возможно что информация скрывается в "хвостах". Однако, если это так - скрытую информацию легко обнаружить. (хвосты ведь обычно содержат нули. Врядли джипег заполняет их мусором)
0
|
|
|
|
|
| 11.02.2010, 12:39 | |
|
Тут я уже ничего сказать не могу, ибо никакого понятия не имею о том, как устроен jpeg на уровне формата. Но я видел "битые" картинки, где косяки возникают в виде квадратов, а не в виде всей перекошенной картинки. Поэтому предполагаю, что в бинарном виде информация записывается не сплошным потоком, а разбивается на квадраты (из соображений помехоустойчивости). В этом случае имели бы место дырки от 1 до 7 бит на границе квадратов. Тогда по конкретной картинке всегда можно узнать, где эти дырки находятся и закодированная информация точно так же раскодируется. Но это только предположение.
0
|
|
|
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
|
|
| 11.02.2010, 15:28 | |
|
Однако, если бы дело было в дырках - то ведь может существовать изображение, которое будет иметь либо критично малое количество дырок (меньше 5% объёма файла) либо вообще их не будет иметь (крайний случай).
Слова "приблизительно 10 %" я склонен понимать как "от 5 до 15 %". Скорее всего дело либо вообще не в дырках, либо не только в дырках
0
|
|
|
14 / 14 / 6
Регистрация: 23.02.2010
Сообщений: 221
|
|
| 26.02.2010, 16:07 | |
|
сделал в проге Алгоритм?
0
|
|
|
345 / 56 / 4
Регистрация: 27.04.2009
Сообщений: 36
|
|
| 12.03.2010, 14:57 | |
|
Мммм... насчет JPEG подумаю . . . Возможно реализую в своей программе.
0
|
|
|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
| 12.03.2010, 14:58 [ТС] | |
|
JPEG искажает пиксели
0
|
|
|
345 / 56 / 4
Регистрация: 27.04.2009
Сообщений: 36
|
||
| 12.03.2010, 15:01 | ||
0
|
||
|
|
|
| 12.03.2010, 15:06 | |
|
jpeg - алгоритм сжатия с потерями. Поэтому те же принципы, что и в bmp тут не канают. Ибо нет никакой гарантии, что после распаковки изображения тот или иной пиксель распакуется ровном в том же виде, в каком и был запакован. Правда высказывались мнения, что левый верхний угол каждого квадрата распаковывается без потерь, но если использовать только это, то количество возможной информации для кодирования будет совсем небольшим
0
|
|
| 12.03.2010, 15:06 | |
|
Методы GetPixel\SetPixel BMP и стеганография
Стеганография. Написать метод для расшифровывания текста из картинки bmp Нужна программа для упаковывания данных в WAV/BMP/AVI (не стеганография!) Работа с BMP-файлами (класс "8 битное BMP изображение) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение 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: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|