| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Использование алтернативных потоков данных |
| Автор: mihanik 10.10.2006, 13:40 | ||
| Привет! Сразу предупреждаю, что это не вопрос! Просто хочу поделиться тем, чем немного научился пользоваться... Сейчас практически везде используюется система Windows XP в различных своих версиях. Довольно часто на компьютерах с этой системой используется файловая система NTFS, которая позволяет использовать у файла альтернативные потоки данных. Такие потоки можно размещать абсолютно в любом файле и даже, говорят, каталоге. (С каталогами правда я не эксперементировал, но поверю на слово.) Итак! Я решил попробовать "прятать" информацию от чужих глаз в этих самых потоках. И у меня получилось!!! Формат имени альтернативных потоков имеет следующий вид: имя_файла:имя_потока:атрибут Т.к. атрибут является не обязательным параметром, то я его не использовал. Как оказалось, с альтернативными потоками данных на программном уровне можно работать точно так же, как и с обычными файлами, используя стандартные средства бейсика. Чтобы повторить мой эксперимент вы можете создать проект с единственной формой. Разместите на нём две кнопки btnSaveMyFile и btnOpenMyFile при помощи которых мы будем записывать и считывать данные. А также два текстовых поля: Text1 - для написания "записок", которые будем прятать (у этого элемента я поставил свойство MultiLine = True ) Text2 - для указания имени альтернативного потока данных в файле. Я также "бросил" на форму CommonDialog1 для удобного выбора подопытных файлов. Ниже текст программы...
Для экспериментов я выбрал первый попавшийся текстовый файл. мои действия. 1. Открыл этот файл в блокноте, посмотрел на его содержание. 2. При помощи моей проги записал в этот файл свою записочку. (указал в качестве имени дополнительного потока "111") 3. Открыл текстовый файл. ИЗМЕНЕНИЙ В ФАЙЛЕ НЕ ОБНАРУЖИЛОСЬ!!! 4. При помощи своей проги прочитал данные из потока. Данные считались!!! Мне данный способ использования особенностей файловой системы NTFS очень понравился. Почему? Сейчас пишу прогу для заказчика и не уверен в получении с него денюжек... При помощи этого приёма я смогу сделать свою прогу триальной на пару дней, а затем заставить её не запускаться... (я точно знаю, что у моего заказчика система XP с файловой системой NTFS). Сейчас учусь находить список всех альтернативных файловых потоков у конкретного файла. Мало ли что туда могут записать другие... Добавлено @ 13:44 Замечание!!! Программный код работает, но ошибок пользователя не ловит. Поэтому не забывайте правильно выбирать имена файлов и обязательно указывайте имя альтернативного потока. Подобную защиту наверняка каждый сможет прикрутить сам... Ниже прикреплю архив с моим эксперементальных проектом... |
| Автор: Тутанхамец 11.10.2006, 18:38 |
| Спасибо. Это может быть полезным. P.S. Хотя вообще-то придумка неоднозначная. Я бы предпочел, чтобы чужие проги не могли так прятать данные на моем компе. Ладно еще, если шароварщики свои интересы отстаивают... P.P.S. А вообще, по большому счету, зачем это надо? |
| Автор: mihanik 12.10.2006, 06:50 |
Касаперский, например, в альтернативных потоках прячет какой-то свой признак проверки файла. (чтобы избежать повторной проверки и уменьшить время проверки всего компа) Система что-то туда ишет... Оказывается про эти потоки идёт разговор в сети уже давно. Попробуй использовать поисковик, как я. Столько ссылок вывалится!!! |