Как защитить коммерческое приложение от установки на нескольких компьютерах с одной лицензией?
Как защитить свое коммерческое приложение от установки на нескольких компьютерах у людей, которые владеют только одной лицензией?
Считаете ли вы хорошей идеей иметь больше, чем просто последовательную схему?
Ответы
Ответ 1
Следующий метод работает хорошо, если у вас есть общедоступный сервер в вашем распоряжении:
- Последовательная защита, пользователь должен ввести серийный номер перед использованием программы
- В первой последовательной записи привяжите последовательный порт к MAC-адресу и создайте код авторизации, сгенерированный из обоих этих значений.
- Обратитесь к своему серверу, чтобы убедиться, что последовательный порт и MAC могут быть привязаны друг к другу. Зарегистрируйте MAC на сервере.
- В каждом последующем прогоне никогда не обращайтесь к серверу снова, но каждый раз убедитесь, что последовательный + MAC-адрес соответствует их коду auth.
- Если у пользователя нет MAC-адреса, разрешите им запускать программу до тех пор, пока у нее есть серийный номер.
Это дает вам защиту от того, кто просто копирует реестр с одного компьютера на другой.
Если пользователь пытается установить один и тот же серийный номер на другом компьютере, сервер не позволит вам привязывать серийный номер к MAC-адресу, поскольку он уже связан.
Это не идеальное решение, но оно защищает вас в 99% случаев.
Ответ 2
Мои общие правила
- Огромное развертывание в коммерческих средах - Аудит
- Средние развертывания программного обеспечения с низким значением, $1000/мест - Активация лицензионного ключа
- Небольшое развертывание программного обеспечения с высоким значением > 10 000 долларов США/место - Dongles
Ответ 3
Считаете ли вы хорошей идеей иметь больше, чем просто последовательную схему?
Говоря как о ком-то, кто должен устанавливать все виды программного обеспечения на всех видах машин, пожалуйста, подумайте о слабых сетевых администраторах при разработке схемы защиты от копирования. Пожалуйста, подумайте об установке в сети во время записи вашего установщика - во что бы то ни стало включите некоторую защиту серийного номера, даже позвоните мне на телефон или свяжитесь с вашим сайтом и получите код авторизации, чтобы получить код установщика всего сайта, но, пожалуйста, убедитесь, что ваш код лицензирования работает. Хороший способ гарантировать, что ваше программное обеспечение с технически превосходящим-чем-нибудь-на-рынке не устанавливается и используется, - это испортить установщик или иметь систему установки, которая просто слишком много неприятна.
Ответ 4
Использовать лицензии или лицензии, зависящие от машины, требующие активации для блокировки лицензий на определенные машины. Вместо того, чтобы разрабатывать такую схему самостоятельно, рассмотрите возможность использования готового к использованию, например CryptoLicensing, который поддерживает эти функции.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я работаю над программным обеспечением LogicNP, разработчиком CryptoLicensing.
Ответ 5
Мы используем MAC-адрес и файл лицензионного файла. У нас есть клиент, который отправляет нам MAC-адрес своего ПК, а затем генерирует файл лицензии на основе этого MAC-адреса. Затем мы отправляем файл по электронной почте, а затем загружаем файл лицензии в программу. Недостатком является то, что если люди меняют сетевые карты, и вам придется выдать им новую лицензию. Требуется немного больше бухгалтерского учета, чтобы люди не всегда запрашивали новые лицензии и немного доверяли вашей клиентской базе, что они не будут слишком много пытаться играть в систему. В зависимости от этого уровня доверия вы можете добавлять в файл слои кодирования или шифрования, чтобы они не могли легко дублировать файл. С другой стороны, вам не нужно внедрять или поддерживать сервер аутентификации любого типа.
Ответ 6
Вы всегда можете использовать USB-ключ, если оно того стоит. Разумеется, все производители ключей заявляют, что их защита от копирования не может быть нарушена.
Преимущество этого метода заключается в том, что он позволяет пользователю использовать программное обеспечение на нескольких компьютерах, но работает только по одному, и на самом деле это не такая хлопот, как активация какого-либо продукта. Недостатком, конечно же, является то, что вы не можете полностью развертывать свое приложение в электронном виде. Несмотря на то, что вы можете думать обратное, на самом деле многие клиенты, похоже, согласны с использованием ключа, по крайней мере, в той области, в которой я работаю. Это особенно полезно, если вы ожидаете, что ваши клиенты будут использовать (а также установить!) Программное обеспечение в месте где нет доступа к Интернету.
Изменить: я перепробовал серийную вещь в исходном вопросе. Обратите внимание, что даже это может раздражать пользователей более чем необходимостью вставить ключ, и вам это тоже легче, потому что ни клиент, ни вы не должны иметь дело с этими цифрами. Вставьте ключ и приложение. Тем не менее, метод последовательного единства является самым дешевым.
Ответ 7
Мы используем Орион из Агилиса. Для некоторых наших пользователей мы активируем node -блокированные лицензии, для других они получают активацию с помощью веб-страницы или электронной почты, а для других мы помещаем сервер лицензий на их место. Орион покрывает все необходимые нам базы.