Внедрение механизма лицензирования программного обеспечения [закрыто]

Я думаю о внедрении хорошего механизма лицензирования, который имеет хорошее сопротивление пиратству. Требуемый механизм не должен использовать подключение к интернету при каждом использовании программного обеспечения. Я думаю о механизме, основанном на идентификаторах оборудования и т. д. У вас есть предложения получше? Каковы параметры / алгоритмы / характеристики, которые мне нужно учитывать, чтобы сделать механизм лицензии доказательства взлома?

6 ответов


во-первых, ничто не защищено от взлома, поэтому я не стал бы тратить слишком много времени на защиту вашего программного обеспечения.

недостатком механизма, основанного на идентификаторах оборудования, является то, что пользователь покупает новый компьютер или обновляет большую часть своего компьютера. HWHash довольно хорошая реализация HardwareID, но я думаю, что есть больше (бесплатных) решений. На работе мы используем Hardlock и Hasp ключи, но это решения usbkey, которые не очень эффективны для небольших приложений.


В идеале вам нужно что-то независимое от ОС.

Я бы рекомендовал вам встроить защиту лицензии в свой код или обернуть приложение в него таким образом, чтобы его нельзя было запустить без запуска кода защиты от копирования.

было бы лучше, если ваше приложение нуждается в файле лицензионного ключа для работы и что это не генерируется локально.

один из способов сделать это заключается в том, что ваше приложение создает определенную форму код изображения, основанный на оборудовании, на его начальном запуске. Это и взамен поставить лицензионный ключ, который позволит запустить код. Лучше всего основывать аппаратный образ вокруг процессора и материнской платы, поскольку они будут меняться реже всего.

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

Если вы хотите, чтобы ваше приложение. license time limited, то он также должен отслеживать, как долго он работает и встроить его в лицензию ключевой файл.

Не забудьте зашифровать файл лицензии.

также не забудьте затруднить обратную компиляцию исполняемого файла с помощью dotfuscator или аналогичного.


проверить этот вопрос: какой метод защиты от копирования вы используете?

Он также ссылается на другие связанные вопросы.


Я бы очень опасался опубликованных механизмов защиты программного обеспечения, поскольку они, скорее всего, опубликовали хаки. Вероятно, вам лучше использовать некоторые методы для получения уникального постоянного идентификатора и использовать его для развертывания собственного механизма защиты. Я также думаю, что это плохая идея, чтобы просто проверить лицензию всякий раз, когда вы запускаете программу, так как это приводит хакера к местоположению вашего механизма proection. IMO, вы лучше проверяете лицензию в более случайном мода, и не раз за сеанс.

FWIW, я использую аппаратные блокировки (hasp) для моего настольного программного обеспечения высокого класса и лицензирование на основе идентификаторов устройств на мобильных решениях. Если вы продаете небольшое количество дорогостоящего программного обеспечения на вертикальном рынке, IMHO, хороший механизм защиты лицензий имеет смысл, и аппаратные ключи работают хорошо. По моему опыту, люди будут использовать больше лицензий, чем они покупают, если этого не будет. Для высокообъемного, недорогого програмного обеспечения, я клонить к живите с пиратством, основанным на увеличении размера пользовательской базы и видимости продукта.


Я думаю о внедрении хорошего механизма лицензирования, который имеет хорошее сопротивление пиратству. Требуемый механизм не должен использовать подключение к интернету при каждом использовании программного обеспечения.

тогда как насчет периодической онлайн-проверки лицензии?

когда пользователь входит в систему в первый раз, пользователь проверяет установку против своей учетной записи и файл лицензии хранится на ПК пользователей. Этот файл лицензии зашифрован и содержит все данные, необходимые для идентификации лицензии. Все это хранится на вашем сервере.

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

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

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

Как заявили другие, нет никакого способа победить определенного пирата, так как такой человек взломает код, но это должно предотвратить или замедлить случайное пиратство.


вы можете ознакомиться SLP от Microsoft - Я не использовал его, но он определенно выглядит интересным (yknow, если вы в MS вещи...)

один важный момент, чтобы отметить-никакой механизм лицензирования не защитит вас от пиратства, или даже существенно уменьшить его. По определению, механизм лицензирования будет клиентской стороной, которая по своей сути является хрупкой. Взгляните на все, что произошло с DRM...

ваше руководство должно быть удобство - то намерение!--7-->должны использовать его в качестве общей политики, хорошие парни будут комфортно ограничены тем, что им разрешено делать, а плохие парни - ну, плохие парни все равно обойдут ваши намерения, ваша лучшая надежда-сделать это больше работы.