Запретить программе .net запись на диск

#.net #runtime

#.net #время выполнения

Вопрос:

Как мне запретить моей программе .net (C #) когда-либо записывать на диск?

Редактировать: для всех любопытных есть атрибут FileIOPermissionAttribute. Этот codeproject также показывает способ.

Комментарии:

1. Технически вы не можете. Кто-то может внедрить IL или собственную DLL, чтобы вызвать запись на диск. Однако вы могли бы использовать Sandboxie.

Ответ №1:

Вы можете использовать caspol, чтобы гарантировать, что exe-файл не выполняется с «полным доверием», и ограничить доверие, исключая это разрешение ( FileIOPermission ) . Однако, если exe-файл не разработан и не протестирован для запуска без полного доверия, он может вообще ничего не делать.

Ответ №2:

Вы можете запустить ее с учетной записью, которая не авторизована для записи на диск.

Комментарии:

1. У вас может быть учетная запись Windows, которой вообще не разрешено записывать данные на диск? Как он записывает свои собственные настройки?