|
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
|||
| 05.04.2012, 21:37 [ТС] | |||
просто jpeg картинка кодируется в bmp и обрабатывается уже как bmp (этот формат изображений наиболее просто спрятать инфу стеганографическим способом) Думаю, можно по аналогии, перекодировать png в bmp и обрабатывать также даже код особо менять не придется![]() Естественно, это приемлемо и для других форматов изображений, смысл прост: переводим в bmp и работаем с ним ![]() P.S. Это я пока только изложил кратко свои мысли чуть попозже выложу все в виде отдельной статьи Если кто это хочет сделать вместо меня - я только за![]() P.P.S.
2
|
|||
| 05.04.2012, 21:37 | |
|
Ответы с готовыми решениями:
70
Стеганография Стеганография Стеганография.Шифрование текста в картинку |
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 06.04.2012, 04:41 | |
|
1
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 08.04.2012, 13:33 | |
|
ни как ни могу переделать данную программу, под формат PNG((
1
|
|
|
56 / 9 / 0
Регистрация: 10.02.2011
Сообщений: 88
|
|
| 08.04.2012, 13:34 | |
|
Здравствуйте!!! У меня та же самая проблема, мне нужно сделать программу для формата TGA! Помогите пожалуйста для решения данной задачки..
1
|
|
|
Заблокирован
|
|
| 08.04.2012, 17:49 | |
|
aidoqa,
Ничего сложного нет. Любая картинка открывается и с ней проделевыются все манипуляции. А потом просто сохранить в PNG и всё. Надо всего лишь подключить модуль PNG Erkosha, Это вообще формат наподобие BMP. В него можно шифровать просто загрузив его в поток. В чём собственно проблема? Или мне написать? Но мне кажется, писать подобные вещи удобнее в KOL . Там великолепные инструменты для работы с картинками.
3
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|||
| 08.04.2012, 17:54 | |||
|
Lirrk,
2
|
|||
|
Заблокирован
|
|
| 08.04.2012, 19:00 | |
|
aidoqa,
Kol Это библиотека для Делфи ФрееПаскаль и Лазарус для написания маленьких по размеру приложений. Размер пустого окна от 15 до 42K Зависит где её используют. Имеет визуальные компоненты. Впрочем всё здесь. http://kolmck.net/rindex.htm Там есть книга про эту библиотеку. Там всё изложено Добавлено через 1 минуту aidoqa, Да, программу надо написать заново Вообще самый простой способоб загрузить любой формат или в поток, изменить пиксели, а потом сохранить или в бмп или в PNG Можно даже вписывать информацию в индексные картинки. Да хотябы в смайлики.
3
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 08.04.2012, 19:02 | |
|
Lirrk, может там что нибудь испавить подправить) мне ее во вторник сдавать надо я без понятия что нужно сделать.
2
|
|
|
Заблокирован
|
|
| 08.04.2012, 19:10 | |
|
aidoqa,
Я не совсем понял что вам надо. Или загружать PNG или сохранять в PNG? Это курсовая или что? Как надо сделать, загрузить и показать картинку, или показывать её не надо.
2
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 08.04.2012, 19:15 | |
|
Lirrk, первоначально у меня была программа она кодировала и прятала текстовый файл в картинку потом ее можно было раскодировать и у нас появлялся текстовый файл https://www.cyberforum.ru/post2871218.html - в этой программе можно было сделать с форматами jpeg and bmp , мне надо ее переделать под PNG, тоесть спрятать и закодировать текст в картинку и раскодировать ее.
1
|
|
|
Заблокирован
|
|
| 08.04.2012, 19:23 | |
|
aidoqa,
в jpeg ничего не скроешь. Это формат с потерей информации. самый лучший это PNG Другое дело, если открыть картинку любого формата, а сжимать её в PNG или оставить в BMP
2
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 09.04.2012, 17:00 | |
|
как можно это реализовать к примеру картинку PNG скрыть в ней текстовый документ и сохранить как PNG? помогите пожалуйста до делать программу)
1
|
|
|
Заблокирован
|
|
| 09.04.2012, 22:10 | |
|
Вот состряпал. Прячет только один текстовый файл. Для всего прочего надо разрабатывать заголовки и прочую лабуду.
Кушает BMP PNG TGA На выходе BMP PNG TGA Другие форматы добавляйте сами. Это очень просто. Надеюсь, с тем, что я там наворотил разберётесь.
2
|
|
|
Заблокирован
|
|
| 10.04.2012, 12:55 | |
|
Ну вот. Никому не нужно. Зря старался.
2
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 10.04.2012, 16:10 | |
|
Lirrk, Большое СПАСИБО!!!!Выручили!!!!
Теперь осталось во всем этом разобраться и все)(можно уточнить как там происходит кодирование?) можете объяснить насчетконтейнера что та происходит?
1
|
|
|
Заблокирован
|
|
| 10.04.2012, 16:31 | |
|
aidoqa,
там происходит "финт ушами" Файл любого формата попадает на обычный битмап. Но с битмапом работать не совсем удобно. Поэтому делается его линейная копия в памяти, а сам битмап уничтожается за ненадобностью. А копия это набор пикселов, с котрыми можно сделать всё что угодно. В данном случае всё сводится к тому, что младший бит каждого байта играет роль контейнера. Для чтения и записи байта скрываемой информации использованы вставки на ассемблере. посколько именно на ассемблере проще всего обрабатывать байты. Ну а с программой работать проще простого. Сначала верхней кнопкой выбираете картинку, это Котейнер. Второй кнопкой текст для скрытя, третьей - куда будет сохранён результат. Запуск и всё готово. Включаем режим распаковки. верхенй кнопкой выбираем файл с спрятанным текстом. второй файл. где будет распакованный текст Запуск и всё готово.
2
|
|
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 10.04.2012, 16:35 | |
|
Lirrk, СПасибо еще раз большое)) Просто с перва мне нужно рассказать про формат PNG , потом подробно объяснить программу и как происходит кодирование)
1
|
|
|
Заблокирован
|
|||||||||||
| 10.04.2012, 17:35 | |||||||||||
|
aidoqa,
В смысле про формат png? Графический формат. Использует сжатие без потерь. Может содержать альфа-канал. Для работы с ним нужна библиотека. Она есть в архиве. Всё сводится к созданию обьекта PNG и работы с ним. Добавлено через 10 минут В разделе uses подключается pngimage А это блок загрузки картинки PNG
png := TPNGObject.Create; // создаем png.LoadFromFile(OD1.FileName); WW:= png.Width; HH:= png.Height; _B_.Width:=WW; _B_.Height:=HH; Создаётся объект TPNGObject Грузим рисунок png.LoadFromFile(OD1.FileName); Получаем его размеры WW:= png.Width; HH:= png.Height; Делаем битмап того же размера _B_.Width:=WW; _B_.Height:=HH; Добавлено через 1 минуту Переносим на битмап _B_.Canvas.Draw(0, 0, png); // выводим Уничтожаем обьект PNG png.Free; // Освобождаем Всё рисунок распакован Добавлено через 1 минуту Далее делаем копию битмапа в виде сплошного потока байтов Добавлено через 1 минуту Ну а потом открываем файл текста и берём с него байт за байтом и добавляем его биты к пикселям Добавлено через 40 секунд То есть к каждому байту копии битапа Добавлено через 1 минуту А происходит это в процедуре
Procedure Write_Byte(_dat:Byte); (_dat:Byte); Это байт текста Добавлено через 1 минуту for ind_:=1 to 8 do begin поскольку в байте 8 битов то записываем байт текста в 8 байтов потока копии битмапа Добавлено через 1 минуту вот мы прочитали байт из потока копии битмапа и внедряем его бит Добавлено через 46 секунд Но тут нужно иметь представление об ассемблере и о регистрах процессора Добавлено через 5 минут но постараюсь обьяснить смысл. вот байт. Это 8 бит хххххххх а слово состоит из двух байт хххххххххххххххх BH и BL Это регистры процессора, способные хранить байт. Вместе они представляют 16 разрядный регистр BX для хранеия слова Добавлено через 3 минуты предположим текст это латинская буква A. код $41 или в двоичной 00101001 Добавлено через 24 секунды Он в регистре BL Добавлено через 5 минут а в картинке пиксель код 00000011 Он занесён в регистр BH В нём будет менятся младший бит. Поэтому поготовим место. Мы сдвигаем этот регистр на один разряд вправо. получаем 10000001 Добавлено через 2 минуты а в регистре BL 00101001 Следовательно в BX теперь 1000000100101001 Добавлено через 38 секунд Сдвигаем теперь все 16 бит влево Добавлено через 1 минуту 0000001001010011 Добавлено через 3 минуты в BH 00000010 B BL 01010011 Добавлено через 4 минуты в BH Нужный готовй байт. В нём младший бит изменён на ноль в BL остался бате буквы но сдвинутый на один разряд влево. То есть в старшем разряде второй бит При следующем обороте цикла этот бит заменит младший бит байта каринки, а на его место встанет 3 бит. И так дале... Другими словами байт буквы побитно наползает на подготовленный байт картинки
3
|
|||||||||||
|
587 / 101 / 2
Регистрация: 08.02.2011
Сообщений: 842
|
|
| 10.04.2012, 18:18 | |
|
Lirrk, Cпасибо за подробное объяснение)
1
|
|
| 10.04.2012, 18:18 | |
|
Помогаю со студенческими работами здесь
40
Стеганография LSB BMP Стеганография Стеганография стеганография Стеганография Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
||||
|
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений
Всем привет. А вот мой компьютер, переделанный из ноутбука.
Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
|
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
|
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца:
Хочу еще Симбу взять, очень нравится. . .
|
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
|
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
|
|
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
|
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
|
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
|
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7
Чтобы решить задачу, использовал интернет:
поисковики Google и Yandex, а также подсказки Deep Seek.
Как оказалось, чтобы создать. . .
|
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
|