Каков самый простой генератор лицензионных ключей, который я могу разработать сам через 1 день? [закрытый]

Ctrl +, и Ctrl +. перемещают текстовый курсор в следующую и предыдущую ошибку или предупреждение (красная или желтая загогулина) в источнике. Это становится действительно полезным, если Вы имеете дело с большим блоком грязного или взломанного кода, когда Вы находитесь в глубинах рефакторинга или вставки. Объединенный с Ctrl+1 для предлагает, фиксируют Вас, может быстро восстановить код, не имея необходимость двигать Вашей рукой к мыши.

На самом деле, едва необходимо пошевелить пальцем от Ctrl...

7
задан bluish 1 March 2012 в 13:40
поделиться

7 ответов

Существуют ли ограничения операционной системы? Я думаю, что следующий подход будет довольно простым:

  1. Выберите способ получения идентификатора машины. Например, это может быть запись реестра MachineGuid в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Cryptography . ( Создание уникального идентификатора машины )

  2. Определите функции, на которые вы планируете лицензировать, и способ их идентификации. Вы можете просто назвать их. Если ваш продукт простой, это может быть сама функция.

  3. Создайте пару открытого / закрытого ключей.

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

  5. Комбинируйте как-либо идентификатор функции и идентификатор машины и подписывайте результат своим закрытым ключом. Например, вы можете создать эту комбинацию путем конкатенации. В этом случае строка результата может выглядеть так: "YourApplicationName-12345678-9abc-def0-1234-56789abcdef0"

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

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

Подробнее об операциях с открытым / закрытым ключом здесь .

Пожалуйста, сообщите, если что-то неясно, и я попробуйте дать подробный ответ.

РЕДАКТИРОВАТЬ: Я уверен, что реализовать все это можно за 1 день, но я согласен с другими, которые предлагают вам использовать существующие решения. Есть много вариантов для разных платформ и языков программирования.

9
ответ дан 6 December 2019 в 08:15
поделиться

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

5
ответ дан 6 December 2019 в 08:15
поделиться

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

2
ответ дан 6 December 2019 в 08:15
поделиться

Если вам нужен только псевдокод (какой язык / платформа?) Вы можете взять MAC-адрес компьютера (который предполагается уникальным) и создать функцию, которая объединит его с некоторыми другими параметрами компьютера - и убедитесь, что вы проверяете его каждый раз, когда приложения запускаются с вашей собственной базой данных, сохраняя адрес электронной почты пользователя в этой строке.

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

1
ответ дан 6 December 2019 в 08:15
поделиться

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

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

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

2
ответ дан 6 December 2019 в 08:15
поделиться

Поместите возможности продукта (количество пользователей, IP-адрес хоста, дату истечения срока действия и т. д.) в текстовый файл. Подпишите файл открытым ключом, а затем проверьте подпись во время выполнения.

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

2
ответ дан 6 December 2019 в 08:15
поделиться

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

1
ответ дан 6 December 2019 в 08:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: