|
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
|
|
Стеганография в BMP27.01.2010, 23:03. Показов 22900. Ответов 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 изображение) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
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
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|