Как заставить Windows System Restore игнорировать некоторые файлы моего приложения?
Я экспериментирую с идеями защиты программного обеспечения от копирования и теперь у меня возникла следующая проблема.
У меня есть пробная версия моего приложения. Пробные данные хранятся в определенном файле, а также в определенных разделах реестра. Конечно, я знаю, что пользователь может сломать эту пробную защиту, используя некоторые инструменты для мониторинга реестра и файлов, а также инструменты резервного копирования, но я хочу, по крайней мере, защитить себя от некоторых простых хаков, таких как изменение даты и времени, и использование восстановления системы Windows.
Проблема в том, что Windows System Restore стирает все мои файлы приложений, а также пробные данные. Я знаю, что восстановление системы не влияет на папку документов пользователя, но я не хочу хранить там пробный файл данных, потому что это слишком очевидно.
Есть ли способ остановить восстановление системы, чтобы удалить мой файл пробных данных?
2 ответа
Почему бы не сохранить его в папке с документами пользователя?
- Зашифровать содержимое в файле
- Когда файл исчез, пробная версия окончена
Папка приложения
http://msdn.microsoft.com/en-us/library/bb425869.aspx
Безопасность через неизвестность
http://en.wikipedia.org/wiki/Security_through_obscurity
Другой вариант - использование настроек приложения.
Лучшая практика сохранения настроек приложения в приложении Windows Forms
Я знаю, что это старый, но так как выбранный ответ не отвечает на заданный вопрос, я решил добавить свой ответ для всех, кто здесь окажется.
Чтобы сделать восстановление системы игнорированием файлов, добавьте значение реестра REG_MULTI_SZ в следующий ключ:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup
Можно использовать переменную окружения и wild. Чтобы включить подкаталоги, добавьте " /s" в конец. Например, чтобы добавить все в c:\temp, используя reg.exe из командной строки
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToBackup /v Temp /t REG_MULTI_SZ /d "c:\temp\* /s"