![]() |
Подключение файла как диска.
Собсно сабж, интересует вопрос как реализовать такую тему, например создается виртуальный диск который берет информацию из зашифрованного файла, расшифровывает,а дальше просто работаешь как обычно и при закрытии вся информация опять записывается в этот файл.
Например как сделано в программах: Dekart Private Disk Esmart CryptoDisk P.S. Шифрование можно опустить, меня интересует как сделать само подключение файла как диска. |
можно запускать стандартную программу 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/ |
| Время: 09:51 |