Java: проверка подлинности и проверка лицензии с помощью программного обеспечения или сервера? - PullRequest
2 голосов
/ 20 июня 2010

Мне нужно несколько советов о том, как аутентифицировать лицензии (пользователь / лицензионный ключ).

Лучше ли делать то, что делают многие игры, которые проверяют ключ cd с серверов компании.Есть ли руководство о том, как реализовать это, не становясь «взломанным» или «исправленным»?

ИЛИ Лучше просто проверить пользовательский / лицензионный ключ в программном обеспечении?Разве вы не заметили, как через некоторое время вокруг сети стали появляться кейгены?

Пожалуйста, сообщите.

Ответы [ 3 ]

2 голосов
/ 20 июня 2010

Сколько продается ваша программа и сколько продаж вы ожидаете получить? Если какой-либо ответ ниже 50, то, скорее всего, вам не стоит его обдумывать. Да, вы можете декомпилировать Java, но если вы продаете горстке людей, которых вы знаете, у них не будет знаний для этого (или они сделали бы это сами). Игры ломаются, потому что миллионы людей хотят в них играть. Какая-то случайная программа, которую вы пытаетесь продать за 10 долларов или что-то еще, должна ускользнуть от радаров :) И если она все же взломана, выпустите версию 2.0 с лучшей защитой ...

1 голос
/ 20 июня 2010

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

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

Я не уверен, что вы найдете хорошее общедоступное руководство о том, как сделать взлом труднымпотому что такой документ также дал бы взломщикам много подсказок для их усилий взлома.(Программное обеспечение DRM - это постоянная гонка вооружений между «хорошими парнями» и «плохими парнями».)

ИМО, просто не стоит пытаться получить все до последней капли дохода для вашего программного обеспечения.Эти взломанные ключи на самом деле не представляют собой потерянные продажи.Скорее всего, люди, которые их используют, все равно не купят ваше программное обеспечение.Просто списывайте их как источник дохода и сосредоточьтесь на том, чтобы сделать ваше программное обеспечение полезным для честных людей, которые приобрели лицензию.(Худшее, что вы можете сделать, это использовать схему DRM, которая усложнит жизнь честным клиентам !!)

1 голос
/ 20 июня 2010

Если вы сделаете это на стороне клиента, тогда код можно будет декомпилировать и изучить алгоритм. Сохранение этого на стороне сервера предотвращает это.

Если вы просто возвращаете тип «true / false», может быть разработан прокси-сервер, который просто возвращает «true» все время, поэтому клиент думает, что он включен, когда он не был.

Вам нужно будет выполнить работу на сервере и предоставить некоторые средства шифрования для сетевого взаимодействия.

Даже тогда все еще возможно победить такую ​​схему (я не буду вдаваться в подробности, но почти все приложения, которые делают подобные вещи, поддаются победе). Чтобы действительно выполнить эту работу, вам нужно выполнить некоторую часть реальной работы на сервере, а не на клиенте, чтобы результаты не могли быть просто сфальсифицированы.

...