Просмотр полной версии : Подключение файла как диска.
GrAmOzEkA
27.11.2008, 21:19
Собсно сабж, интересует вопрос как реализовать такую тему, например создается виртуальный диск который берет информацию из зашифрованного файла, расшифровывает,а дальше просто работаешь как обычно и при закрытии вся информация опять записывается в этот файл.
Например как сделано в программах:
Dekart Private Disk
Esmart CryptoDisk
P.S. Шифрование можно опустить, меня интересует как сделать само подключение файла как диска.
можно запускать стандартную программу subst
она создает виртуальный диск, которому сопоставляется некий реальный путь к директории
GrAmOzEkA
27.11.2008, 22:43
можно запускать стандартную программу subst
она создает виртуальный диск, которому сопоставляется некий реальный путь к директории
я это знаю, но мне нужно не для директории, а для файла
файл в autorun.ini для этого диска и всё.
GrAmOzEkA, смотри исходники программ типа TrueCrypt
(там все именно так, даже с шифрованием)
создаёшь временную папку, копируешь туда файл и потом через subst подключаешь как виртуальный диск - это самый простой и действенный способ.
bons правильно сказал.
а если надо брать инфу из файла - бери и там уж как-нибудь изворачивайся и копируй туда на время. или просто создай диск и накопируй туда.
вобщем простор для воображения есть =)
какой смысл эмулить папку как диск и что это даст?!?!??! есть исходники memfile например - там дров который выделяет физическую оперативную память и предоставляет ее как ramdisk, да и куча всего связанного с этим, но в любом случае для реализации того что хочет топикстартер нужен драйвер.
вот собсна пример дрова (немного не по сабжу, ибо диск в ram) http://support.microsoft.com/kb/257405/ru
ну это был как вариант решения. для простого решения пойдёт.
естественно, что для крупного полноценного приложения необходим драйвер
тут вопрос не в этом. как ты собираешься шифровать данные например? какая разница будет ли твоя программа обращаться к файлу z:\myfile.txt (после subst z: с:\work\files) или к c:\work\files\myfile.txt? да никакой. абсолютно. диск Z - это псевдодиск. И функционал у него такойже.
другое дело если мы хотим шифрование. это да. вот на примере ramdrive можно сделать и с файлом (хотя лучше готовую реализацию поискать ибо еб*тня с пнп и ирп несколько другая + реализация шифрования и собсна самого интерфейса)
тогда вот драйвер создает например c:\vdisk.dat где хранится в шифрованном варианте дерево и сами файлы, а сам драйвер представляет промежуточные интерфейсы - для чтения\записи через виртуальный диск. Например, создаем файл на виртуальном диске и пишем в него: CreateFile("v:\\hello.txt"), WriteFile("hello im here!")
Произойдет следующее: система обратится к драйверу файловой системы в итоге, но перед этим естественно по symlink будет вызван наш промежуточный драйвер который будет еще одним драйвером файловой системы но уже виртуального диска. И именно он будет шифровать и расшифровывать "на лету"
опенсорс по сабжу http://www.truecrypt.org/
хм, ну если опенсорс тогда почему бы и нет. не думал что просто есть открытое по в этой области
th13fnano
08.12.2008, 20:13
true crypt - софт с раздела Must have!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot