![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Slippy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.1.2010 Репутация: нет Всего: нет |
Вопрос вот в чем: нужно написать стеганографическую программку, чтобы прятать в изображение какой-нибудь файлик...С изображением проблем нет, раскладываю каждый пиксель на составляющие и записываю их в двоичном виде в 3 массива (R, G, B), но суть не в этом...
Как мне представить любой файл (или хотя бы текстовый) в таком же виде (в виде ноликов и единичек, они же байты), потом умудриться это все собрать обратно в файл? P.S.: если уже были подобные темы, дайте ссылки, будьте добры, а то уже ниче не соображаю :( |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Никак. Любая информация - это уже и есть набор байт. Ничего с ним делать не надо, никак преобразовывать тоже не надо.
Просто работай с информацией как с набором байт - вот и всё. Если речь идёт о загрузке из файла - грузи в массив байт. Если речь идёт о работе с информацией в памяти - используй преобразования типов. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Slippy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.1.2010 Репутация: нет Всего: нет |
А можно с примером пожалуйста? Вот есть файл, и как его в байтах-то рассматривать? Это сообщение отредактировал(а) Slippy - 25.2.2011, 00:54 |
|||
|
||||
| northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
BlockRead/BlockWrite - это самый древний, но и самый проверенный вариант. Только вот "текстовую информацию" просто так (как вы прячете изображение) не удастся спрятать. -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
| CodeMonkey |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
или:
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
мне тоже интересно как ТС собрался в файл TXT что то прятать?
-------------------- |
|||
|
||||
| Slippy |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 20.1.2010 Репутация: нет Всего: нет |
Воспользовался этим кодом, все работает. Я так понимаю, прога выдает байты в десятичной системе? (привожу скрин, пробовал на 17 байтовом тестовичке) И тестил на других расширениях файлов, вроде тоже работает. Спасибо большое! Присоединённый файл ( Кол-во скачиваний: 10 )
__________.jpg 15,73 Kb |
||||
|
|||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Ну если ты десятичное число на экран выводишь - будет десятичное.
Ты пойми, что сами байты не меняются. Они как есть, так и будут. А уж как ты их будешь интерпретировать - от этого всё и зависит. Вот ты можешь рассмотреть первые четыре байта файла как целочисленный Integer и показать его на экране в десятичной системе IntToStr-ом. А можешь интерпретировать как Cardinal и показать на экране в шестнадцатеричной системе IntToHex-ом. Да хоть в системе по основанию корень из двух - это твоё дело. Сами байты от этого не меняются. Никак. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |