Стеганография etc
Четверг, 15. Сентябрь 2011
Раздел: C#, C/C++, Софт, Это интересно, автор: dx
Было нечего делать, решил написать какую-нибудь необычную софтину. В голову пришла идея создания программки, которая могла бы прятать внутри картинок какие-либо данные. Такой подход сокрытия данных называется Стеганографией. Выбрал я самый простой формат картинок - BMP. В изображениях формата BMP (24- или 32-битных, несжатых) цветовые данные хранятся в виде отдельных байтов, поэтому можно модифицировать их младшие биты и без видимых изменений заныкать в картинку некоторый объем информации.
Я набросал консольную программу на C++ и GUI-интерфейс к ней на C#. Вот краткие возможности этого софта:
[+] Возможность прятать в 24- и 32-битные картинки BMP-формата без сжатия данные.
[+] Возможность использовать 1/2/4 младших бита картинки для сохранения информации.
[+] Можно также просто зашифровать файл и сохранить его в виде 24-битной картинки (это уже нельзя назвать стеганографией).
[+] Программа при упаковке файла сохраняет не только его данные, но и имя, а также CRC32, это все используется при распаковке.
Файлы распаковываются в директорию с программой.
Скриншоты:

На сладкое - пара шифрованных картинок :)
В первой - пароль ко второй: 
Во второй - фото Kaimi с его подругой:

Скачать программу: ZIP
Исходники самой консольной утилиты, шифрующей и расшифровывающей данные: shitty_encoder.zip

KronuS :
Что-то похожее и ожидал увидеть на фото Каими с подружкой :)
[Ответить]
vista1x :
Может я что-то неправильно делаю, но у меня постоянно ошибка "Some error ocurred revealing data". Упаковывается только с включенным "Dont use base imege, non-tenograpfic". И упакованный файл распокавать не получается.
[Ответить]
dx:
Сентябрь 15th, 2011 at 22:10
Возможно, битмап слишком маленький, а файл слишком большой. Лог сюда, или скриншот программы с логом.
[Ответить]
NixaN48:
Октябрь 20th, 2011 at 14:35
Я въехал, нужно чтобы "You can hide up" значение было больше чем "size of selected file" Как тут - http://clip2net.com/clip/m94825/1319110165-clip-2kb.png?nocache=1
Автор! Респектище! Идея шикарная. А можно запилить так, чтоб если файл не влезет - об этом было бы написано каким-нить красным шрифтом? Не для себя прошу) Только кнопку неактивной не надо делать. Туда хоть кусок файла влезает. Не знаю нафига он нужен, но мне нравится этот эффект.
[Ответить]
3mph :
У Каими пристрастие к бдмс)
[Ответить]
cb^3:
Сентябрь 18th, 2011 at 22:05
он злобный заяц :D
[Ответить]
cb^3 :
только недавно думал об этом кстати))
норм))
dx +
[Ответить]
BuG_4F :
Полезно, но вот пароль не смог разгадать )
[Ответить]
3mph:
Сентябрь 19th, 2011 at 16:19
Там же вроде бы все просто.
Если вы вывернули картинку наизнанку, то вам квесты Каими и DX'a противопоказаны.
[Ответить]
vovan :
а я уж думал там действительно фото каими с его подругой)
[Ответить]
3mph:
Сентябрь 19th, 2011 at 16:18
Ну за чем портить людям интригу :(
[Ответить]
cb^3:
Сентябрь 19th, 2011 at 22:59
эт точно...
[Ответить]
flisk:
Сентябрь 20th, 2011 at 21:45
Там есть 2 фото, достать второе можно, если подумать нестандартно.
Получаем лицензионный Minecraft почти бесплатно :
[...] - 5 gift-кодов для майнкрафта. А обнаружить коды поможет утилита из предыдущей статьи и немного [...]
required :
интересно было бы увидеть исходники :)
[Ответить]
cb^3:
Сентябрь 24th, 2011 at 18:22
cb^3 of rofling :DD
[Ответить]
vlaha :
!Kaimi&Girlfriend.jpg - ужс
А такую интригу уж завели :)))
[Ответить]
dx:
Сентябрь 27th, 2011 at 19:01
Так там правда Kaimi :))
[Ответить]
LAdog :
кто из них Kaimi? тот,кого режут?
[Ответить]
SHiNiGaMi :
Kaimi животное :D
[Ответить]
odr@dek :
Заточить под браузер, и прям как CameraShy.
Помню в начале 2000_х этими игрулькоми баловались =\
_xakep.ru/post/15839/default.asp
[Ответить]
Sean :
Мне очень нравится читать подобные статьи.
Огромная волна умиления связана с тем головокружением от успехов, что не позволяет автору критически оценить свое произведение.
Написать LSB алгоритм здорово, но использовать его в программе с подобным интерфейсом что раздавать воробьев, непойманных в клетку.
Алгоритм = 10-25% работы и успеха, остальное = интерфейс.
Изо всех программ на эту тему самая симпатичная, ИМХО, Stegnote, впрочем познакомиться с ней и ей подобным трудно, Google доступен не всем.
[Ответить]
dx:
Октябрь 30th, 2011 at 15:19
Если ты думаешь, что я планировал сделать идеальную многофункциональную программу с обалденным интерфейсом, свистелками-перделками, то ты ошибся.
[Ответить]
Что у нас новенького :
[...] консольной утилиты, входящей в комплект программ этого поста про стеганографию. Код не ахти и писался не для всеобщих глаз и не с целью [...]
alexp :
Скажите,а рар архив если запилить в картинку,норм будет?или не выйдет
[Ответить]
Kaimi:
Ноябрь 7th, 2011 at 18:13
Без разницы какие данные засовывать внутрь, главное чтобы в пределах допустимого размера для выбранного изображения.
[Ответить]
alexp:
Ноябрь 7th, 2011 at 18:23
Ясно. Я вот попробывал другими аналогичными прогами пооткрывать картинку,запакованную в вашей, не вышло. хм
[Ответить]
Sean :
"Если ты думаешь, что я планировал сделать идеальную многофункциональную программу с обалденным интерфейсом, свистелками-перделками, то ты ошибся"
Так что, слабо? Не умеешь делать перделки? только умные вещи, а свистелки не можешь?
Нет, здесь я не ошибся. Если ты писал её для себя, так и радуйся сам. Если хочешь похвастаться творчеством перед другими(а не для этого ли ты вообще здесь?), то покажи достойный восхищения код или красивый результат в виде готовой программы, написанные хоть на Бейсике. Пользоваться картоном, когда знаешь про туалетную бумагу, совсем не хочется,-это про интерфейс. Не надо розовой с запахом лаванды, достаточно чего-то помягче. Что касается идеальности, что таких не бывает, в учебниках про это уже написано. Что касается многофункциональности, то хватит решения одной задачи, исполненной ясно и просто. Ждемс.
[Ответить]
Kaimi:
Ноябрь 7th, 2011 at 21:53
Мы свистелки делать не умеем, да и мягкую туалетную бумагу тоже. Так что извини, братюнь, ничего не изменится в контексте данного сайта.
[Ответить]
dx:
Ноябрь 9th, 2011 at 15:04
А ты полистай блог, полистай, вот как разберешься со всем, что у нас тут лежит, так и пиши. Со всеми исходниками, методиками, описаниями и т.д. А то увидел кусочек шарпа и сразу негодование, да? Исходники я выложил, кстати.
А свистелки делать умею, но ты мне не указ, поэтому обойдешься без них, извини.
[Ответить]
Dron :
Народ вы хоть обьясните как пользоваться прогой!
Я Зашифровываю картинку, и каждый раз при расшифровке картинки у меня выскакивает окно с ошибкой что тут видители нету шифра!
Чё за херь?
[Ответить]
dx:
Апрель 5th, 2012 at 16:19
Не знаю. Картинку выложи куда-то, в которую прячешь файл.
[Ответить]