Как компании-разработчики узнают, используем ли мы нелицензионное программное обеспечение?
Откуда компании-разработчики программного обеспечения узнают, является ли серийный номер, введенный для использования их программного обеспечения, действительным или одним из них, созданным кейгеном?
Предположим, что keygen генерирует номер лицензии, который может быть введен в их программу. Ключ будет принят и дает пользователю полный доступ к их программному обеспечению. После этого они узнают, что пользователь использует незаконно лицензированную копию своего программного обеспечения?
2 ответа
Наиболее распространенный способ - заставить программу применять только часть действующего алгоритма лицензии. Например, скажем, лицензия выглядит следующим образом: UUUU-VVVV-WWWW-XXXX-YYYY-ZZZZ
, Алгоритм лицензии может потребовать YYYY-ZZZZ
часть, чтобы иметь определенную структуру. Но что касается программы, то любой UUUU-VVVV-WWWW-XXXX
часть разрешена.
Тем не менее, производитель может выбрать серийные номера для тестирования. Например,UUUU
может идентифицировать реселлера, версию или идентификатор продукта. VVVV-WWWW
может быть последовательным для выдачи нескольких лицензий. Но XXXX
часть может быть основана на безопасном хеше UUUU-VVVV-WWWW
часть.
Поскольку безопасный хэш не внедрен в программу и не проверен ею, он может храниться полностью в секрете. Все допустимые ключи будут иметь правильный безопасный хеш, но ключи с недопустимым безопасным хешем, но с правильным YYYY-ZZZZ
part будет работать в программном обеспечении, но должно быть сгенерировано генератором ключей.
Как правило, программа встраивает часть своего ключа в вещи. В этом примере, вероятно, UUUU-VVVV-WWWW-XXXX-YYY
часть. Этого достаточно, чтобы указать, чья это лицензия (если она была законной) и была ли она сгенерирована кейгеном, но недостаточно для использования лицензии для запуска программного обеспечения.
Обычно шпионит за вами. Сегодня многие компании ожидают, что пользователи будут всегда иметь активное подключение к Интернету. Обычно программное обеспечение пытается автоматически обновлять себя или проверять наличие обновлений и уведомлять пользователя. В то же время он может также отправить свой серийный номер или любой другой тип идентификации, который он использует, на главный сервер, и сервер уведомит программное обеспечение, если этот номер сделан известным keygen или если он используется несколькими другими компьютерами и т. Д., Иногда программное обеспечение может подключаться к Интернету только для проверки законности или нет.
В некоторых случаях сами установщики программного обеспечения могут подключаться к Интернету для получения последних исправлений и серийных черных списков. В этом случае начинается гонка между группами, которые верят в (возможно) нелегальное совместное использование программного обеспечения со своими соседями, которые обычно пытаются сделать новые кейгены, и разработчиками программного обеспечения, которые обычно пытаются определить, как кейгены сами создают номер и прилагают все усилия, чтобы добавить все номера, возможно, сгенерированные keygen в черный список.
Иногда программное обеспечение может включать черные списки или серийные номера в патчи. Некоторые разработчики программного обеспечения могут попытаться побудить пользователей иметь активное подключение к Интернету или загружать исправления. Например, во многих играх часто есть патчи, которые принесут различные улучшения, или они могут иметь дополнительный загружаемый контент, доступ к которому возможен только с действительным серийным номером с использованием внутриигрового загрузчика.
Некоторые более "серьезные" программы могут иметь дополнительные функции, которые работают только с подключением к Интернету. Например, Mathematica 8 может использовать Wolfram|Alpha для выполнения некоторых вычислений или для распознавания ввода на естественном языке. Программное обеспечение можно использовать без этих дополнительных функций, но пользователь не имеет полного опыта.