Возможно ли на винде написать программу дешифровки?
Можно ли разработать программу на C#, которая автоматически шифрует и дешифрует все файлы на компьютере на Windows 10/11, а также предоставляет доступ к ним по запросу от приложений? То-есть если приложение (например, Яндекс.Браузер) хочет прочитать файл, то моя программа должна сначала дешифровать его, предоставить доступ, а затем после использования файла произвести его повторное шифрование. С чего стоит начять?
сергей кузьмин, Эм... кто сказал про вирус вымогатель? Вы понимаете что не обязательно программа должна вымогать? Это банальная защита. Плюс я не говорю что хочу зашифровать все файлы и всё. Я хочу понять как их расшифровывать если другая программа запросила их. Как это поподает под вирус вымогатель? То-есть все программы шифровки это вымогатели?
samael228, ситуация когда Браузер хочет прочитать файл и получает его после предоставления доступа например (через логин +пароль или через сертификат или через токен) это основы работы веб сервера и такой сценарий
не требует шифрования собственно данных потому что напрямую браузер к файловую систему сервера доступа не имет
а шифрования дисков вообще то делается на низком уровне и либо предростваляется самим вендором то есть например микрософт либо когда стороннее то требует дуал бута хорошего понимания низком уровне работы системы которая не допускается к загрузке напрямую вообще
samael228, в Windows есть стандартные средства для решения этой задачи. Например, Encrypting File Sysem (только ей нужны редакции Pro, Enterprise или Education). Может, вам этого хватит? Или обязательно нужно написать самому?
ps а также:
- на винде не пишут, пишут на языках. и возможности свежих версий шарпа велики
- если думаете о дисках, тогда VeraCrypt, BitLocker, или атрибут шифрования файловой системы
- работа с дисками сеансовая VeraCrypt, иначе уроетесь в производительности
- не зависимо от языка (его "низкоуровности") попытка декодировать/кодировать, на каждое обращение.. это еще грустнее в плане производительности
Для начала, именно такой функционал уже встроен в операционную систему - штатное шифрование ntfs, доступ к файлам открывается при авторизации пользователем (можно воспользоваться run as ...), из под которого было произведено шифрование. При этом дешифрация происходит исключительно на момент чтения и записи файлов, сами файлы на диске остаются зашифрованными, это происходит прозрачно и автоматически.
Всю систему шифруют не на уровне файлов а на уровне диска, пароль будет запрошен при старте системы (точнее при монтировании диска) штатный инструментарий windows или сторонние типа veracrypt
То, что вы хотите, делается через создание драйвера виртуального диска, а уже в драйвере можете реализовывать различные шифрования. Тогда это будет прозрачно для программ - они просто запрашивают файл, а драйвер обеспечивает к нему доступ.
Изучать нужно API операционки и примеры существующих решений
Можно ли написать такую программу в принципе? Конечно. TrueCrypt например, или что там сейчас вместо него, примерно так и работают.
Удобен ли для написания такой программы C#? Не уверен, скорее нет. Потребуется весьма низкоуровневое программирование.
Эх... начнем с начала - от кого пытаетесь защититься? Да, таких программ навалом, есть и встроенные, и невстроенные. Считаете, сможете написать лучше чем VeraCrypt? Вы оптимист...
кстати мысль (автор же не уточнял задачу)..
может до смешного:
- создать профиль теневого юзера
- там на весь "хоум" (или выборочно) объявить шифрование
- запускать браузер для "интима" runas
.. может этого достаточно?
.. в любом случае, без роста внутреннего понимания тс, тут больше не о чем ))