Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2009, 02:56   #1
V@Noff
Новичок
Джуниор
 
Аватар для V@Noff
 
Регистрация: 11.05.2009
Сообщений: 2
Счастье Спрятать файл внутри другого файла без потери работоспособности обоих

Доброго времени суток господа!!!!!!!!!!
Прошу вашей помощи...

Передо мной стоит задача спрятать один файл (абсолютно любого типа) внутри другого файла (также любого типа) без потери работоспособности обоих.

Чтобы спрятанный можно было по желанию извлечь из файла-контейнера... Получается как бы слияние и камуфлирование одного внутри другого...

Например берем файл JPG (MP3, EXE, ZIP... и др) и прячем его внутри MP3 (JPG, EXE, ZIP... и др)... А потом при надобности извлекаем из контейнера файл...

Буду весьма признателен и благодарен абсолютно за любые мысли по поводу того, как это сделать...
V@Noff вне форума Ответить с цитированием
Старый 11.05.2009, 08:00   #2
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Я как-раз делаю такую программу. Алгоритмы архивирования и распаковки уже готовы. Ещё немного повожусь с интерфейсом и будет готова.

Тебе в помощь: сзади к файлу можно приклеить всё что угодно
Altera вне форума Ответить с цитированием
Старый 11.05.2009, 08:54   #3
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

// ntfs only

echo MsgBox("Hi") > 1.vbs
echo sample > 1.txt
type 1.vbs>1.txt:1.vbs
del 1.vbs
type 1.txt
start .\1.txt:1.vbs
alexBlack вне форума Ответить с цитированием
Старый 11.05.2009, 21:51   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от alexBlack Посмотреть сообщение
// ntfs only

echo MsgBox("Hi") > 1.vbs
echo sample > 1.txt
type 1.vbs>1.txt:1.vbs
del 1.vbs
type 1.txt
start .\1.txt:1.vbs
alexBlack, разъясни, что это такое?
Altera вне форума Ответить с цитированием
Старый 11.05.2009, 23:42   #5
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

это пример использования альтернативных файловых потоков (Alternate Data Streams).

В примере создается текстовый файл и поток к нему, в который пишется файл 1.vbs. Из проводника видно только содержимое 1.txt (строка sample). А (start .\1.txt:1.vbs) выполняет прикрепленный файл.
Аналогично можно было бы прикрепить jpg к mp3 (не bat-файлом, конечно - это просто пример).
alexBlack вне форума Ответить с цитированием
Старый 12.05.2009, 00:19   #6
qpokyc
Форумчанин
 
Аватар для qpokyc
 
Регистрация: 07.04.2009
Сообщений: 117
По умолчанию

Вариантов много:

1) Стеганография, но не каждый формат такое позволяет, да и работоспособности файлу внедряемому не обеспечит, зато явный плюс - размер файла "контейнера" не увеличится, тут же два минуса: во-первых, размер файла внедряемого <= размер "контейнера", во-вторых, качеством файла "контейнера" придется пожертвовать. К слову, это один самых эффективных способов сокрыть информацию от любопытных глаз (но не от внимательных!).

Да, просто "преципить" одинь файл к другому, без сохранения его работоспособности, но с возможностью извлечения можно практически всегда! Но правда, способы все либо ненадежные, либо опираются строго на какой-нить формат "контейнера", либо требуют нехилого штудирования документации по последнему.

2) Запихивать в "пустые" места формата. Многие форматы имеют определенный запас гибкости. Пример: в каждую программу под Windows запихнута полноценная работающая программа под DOS (обычно, выводящая "This programm can't run in DOS mode!"). Обе программы не мешают друг другу нормально работать! Но это единственный известный мне способ подобной идилии, с подавляющим большинством форматов это невозможно в принципе, к тому же, не универсально и чтобы реализовать придется проштудировать гору (величиной с Эверест!) различной документации.

Обычно, такое можно провернуть с двумя форматами, если один является дополнением (новой версией) другого.

3) Файловые потоки. Низнаю об этом ничего, кроме того, что это работает тока в NTFS и скопировать такой файл на FAT (без потери внедренного файла) не получится. К слову, вряд ли легальные разработчики, когда-нибуддь к этому прибегают (уж больно не надежно), поэтому если при копировании на флешку чего-нить проводник выдаст "присоединенная информация будет удалена" - с вероятностью 99% у вас зверушка на компе.

ЗЫ: Не буду строить прогнозы, но, на мой взгляд, ваша задача (в том виде, в котором она вами поставлена) нерешаема!
Copyright © qpokyc (qpy[the dog]bk.ru), 2008-2009 г.
qpokyc вне форума Ответить с цитированием
Старый 12.05.2009, 22:25   #7
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от qpokyc Посмотреть сообщение
3) Файловые потоки. Низнаю об этом ничего, кроме того, что это работает тока в NTFS и скопировать такой файл на FAT (без потери внедренного файла) не получится. К слову, вряд ли легальные разработчики, когда-нибуддь к этому прибегают (уж больно не надежно), поэтому если при копировании на флешку чего-нить проводник выдаст "присоединенная информация будет удалена" - с вероятностью 99% у вас зверушка на компе.
Не знаю, как сейчас, но старые версии Касперского писали в поток KAVICHS какую-то свою инфу. И некоторые люди с антивирусами думали, что у них наоборот вирусы.
Somebody вне форума Ответить с цитированием
Старый 14.05.2009, 01:21   #8
V@Noff
Новичок
Джуниор
 
Аватар для V@Noff
 
Регистрация: 11.05.2009
Сообщений: 2
По умолчанию

Но ведь в том то и дело, что предлагаемый подход годится только для NTFS, то есть флешкой для переноса информации я воспользоваться уже не смогу... А ведь нужна именно универсальность использования исходных файлов для любых носителей и систем с сокрытием самого факта внедренной двоичной информации...

Например я скидываю ВАСИЛИЮ ПУПКИНУ на флэшку mp3 альбомчик его любимого Rammstein, а в один из MP3 файлов засовываю rtf файл с секретным рецептом приготовления забористого самогона... :-) Даже в случае перехвата флешки с информацией у Василия Пупкина спецслужбы могут до оПУПЕНИЯ переслушивать Rammstein, но спец рецепта без моей программы и конкретного указания на файл им в жизни не достать... :-) Очень хотелось бы, чтобы секретным контейнером вместо MP3 можно было использовать изображения JPG, GIF, BMP, архивы ZIP, RAR, исполняемые файлы EXE, файлы документов DOC, RTF, да и вобще абсолютно любой формат... К вложнию в контейнер также никаких ограничений (ну естественно, кроме того, что размер не должен превышать размеры контейнера) быть не должно...Чтобы можно было с уверенностью скидывать на переносимый источник горы всякого мусора, а в один из элементов этого мусора внедрять скрытые от посторонних глаз данные, да так чтобы никто и никогда даже и не посмел догадаться, что они там есть...
V@Noff вне форума Ответить с цитированием
Старый 14.05.2009, 03:59   #9
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

для того что бы сделать картинку которая будет открываться в win rar берешь картинку и пустой архив, открываешь их в hex редакторе и архив дописываешь в конец файла с картинкой (или наоборот, точно щас не помню) сохраняешь и все... теперь эта картинка у тебя будет просматриваться без косяков и открываться в win rar
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 03.11.2009, 16:18   #10
badevlad
Новичок
Джуниор
 
Регистрация: 03.11.2009
Сообщений: 1
По умолчанию

Есть же масса готового софта для этих целей, взять хотя бы BDV DataHider. Можно воспользоваться готовым или посмотреть, как это реализовано у других.
badevlad вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать файл с данными на основе другого файла. Паскаль)) ТРОЯН=) Помощь студентам 13 16.04.2009 18:51
BMP-файл внутри другого файла Pashan Общие вопросы C/C++ 0 08.04.2009 16:37
Обращение к строке внутри файла AlexeyLed Общие вопросы C/C++ 3 04.03.2009 19:53
Одно без другого Принц Свободное общение 2 30.05.2008 22:50
Два XL файла, данные 1-го файла являются частью другого в формуле 2-го Кот Microsoft Office Excel 2 14.08.2007 16:56