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