Проверьте, создан ли файл лицензии для текущей сборки, защищенной от копирования - PullRequest
0 голосов
/ 25 ноября 2010

Привет Я реализовал механизм защиты от копирования с моделью Microsoft LicenseProvider и парой открытого и закрытого ключей, чтобы предотвратить копирование программы с одного компьютера на другой. Очень просто. При запуске файл лицензии должен содержать зашифрованную информацию о компьютере, дату истечения срока действия и имя сборки, для которой предназначен этот файл лицензии. Но что если кто-то переименует файл лицензии из MyProgramA.exe.lic в MyProgramB.exe.lic? Если обе программы защищены от копирования одним и тем же способом, достаточно просто переименовать файл .lic, чтобы получить действительную лицензию ProgramB. Вот почему я сохранил имя сборки внутри файла .lic. Имена сборок должны совпадать.

Теперь, что произойдет, если кто-то вместо этого переименует ProgramB в ProgramA? Имена сборок будут совпадать, и лицензия снова будет действительной. Любые идеи, чтобы сделать это более пуленепробиваемым?

Опять же, это простое проприетарное решение, так что никаких обфускаций и никаких сторонних инструментов, которые, как я знаю, не существует.

Спасибо!

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

Сохраните имя сборки (НЕ имя файла) в файле lic.Имя сборки будет таким же, даже если имя файла будет изменено.

Еще лучше просто использовать разные ключи шифрования для разных приложений.Таким образом, не имеет значения, переименованы ли exe или lic файлы.

0 голосов
/ 25 ноября 2010

Если вы подпишете свою сборку, я не верю, что люди смогут ее переименовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...