2013-01-24 4 views
1

У меня есть файл лицензии, который я хочу аннулировать, если какая-либо другая программа, кроме нашей, читает файл. Моя идея заключается в том, чтобы использовать File.GetLastAccessedTime (строка) и сохранить это значение от к файлу, который будет проверяться, когда мы читаем файл обратно.Какие программы или службы Windows могут изменять атрибут LastAccessed файла?

Однако, я боюсь, что в стороне от анти-вируса (клиенты должны будут исключить наш файл лицензии из проверки, я знаю), могут быть службы или программы Windows, которые могут касаться файлов и вызывать атрибут LastAccessed в файле, который будет обновляться вне контекста нашей программы, но без злонамеренных намерений ,

Какие программы или службы Windows могут получить доступ к этому файлу в фоновом режиме? Является ли это законной проблемой, о которой мне нужно беспокоиться? И если это то, о чем я должен беспокоиться, существуют ли какие-либо общие методы для надежного достижения моей конечной цели?

Я ищу решение в мире .NET 4. Заранее спасибо за любую помощь в этом.

+0

Резервное копирование программного обеспечения? Страница свойств проводника? – Gabe

+0

Да, после некоторого разговора с другими членами команды, мы могли бы просто сократить наши потери этим. Наши клиенты - это не тот тип, с которым все время обходится с установочными файлами, они просто хотят, чтобы программное обеспечение работало. 9/10 раз, если они ввернут файл в любом случае, они просто закончат нарушение лицензии, это то, что я хотел бы позаботиться об одном неясном случае использования. –

ответ

5

Любое приложение для поиска на рабочем столе. Любой вирус, который они получают. Найти WIndow в приложении для файлов. Все антивирусные и антивирусные инструменты. Лучше всего криптографически подписать файл для обнаружения изменения содержимого или не оставить файл, который вас беспокоит на машине клиента (загрузите его и используйте его только в ram).

+3

+1. Вы можете добавить «любое приложение, которое они хотят написать, которое установит последнее доступное время в значение, которое они хотят» в ваш список. Такая программа тривиальна для записи и будет легко обойти эту технику защиты. –

+2

У меня есть эта программа на моем hdd прямо сейчас, она называется AttributeMagic – Kitet

+0

Ну, я уже защищаю от изменения содержимого файла и шифрования его содержимого. Моя проблема заключается в том, чтобы остановить кого-то из копирования/вставки в более старой версии файла лицензии после изменения файла. В этом случае файл должен быть недействительным, но при определенных обстоятельствах при копировании файлов атрибуты FileCreated и LastModified по-прежнему совпадают с тем, что хранится в файле. Это действительно отвечает на мой вопрос, хотя кажется, что я нападаю на эту проблему, все неправильно. –