Как активация программного обеспечения работает?

HttpUtility. ParseQueryString будет работать, пока Вы находитесь в веб-приложении или не возражаете включая зависимость от Системы. Сеть. Другой способ сделать это:

NameValueCollection queryParameters = new NameValueCollection();
string[] querySegments = queryString.Split('&');
foreach(string segment in querySegments)
{
   string[] parts = segment.Split('=');
   if (parts.Length > 0)
   {
      string key = parts[0].Trim(new char[] { '?', ' ' });
      string val = parts[1].Trim();

      queryParameters.Add(key, val);
   }
}
9
задан Alan Haggai Alavi 9 December 2009 в 16:30
поделиться

3 ответа

В самом простом случае это описано как maxwell5555. Регистрационный код («CD-ключ») отправляется пользователю, который вводит его в программу или установщик. Весь процесс может быть выполнен в автономном режиме; программа сама локально определяет, действительный или недействительный код.

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

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

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

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

Наконец, особо охраняемое приложение могло оставаться в постоянном контакте с сервером, отказываясь работать вообще, если связь разорвана. В этом случае для активации необходимо подделать сам сервер. Эмуляторы Steam и частные серверы WoW являются примером этого.

И, в конце концов, ничто не поддается взлому.

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

Наконец, особо охраняемое приложение могло оставаться в постоянном контакте с сервером, отказываясь работать вообще, если связь разорвана. В этом случае для активации необходимо подделать сам сервер. Эмуляторы Steam и частные серверы WoW являются примером этого.

И, в конце концов, ничто не поддается взлому.

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

Наконец, особо охраняемое приложение могло оставаться в постоянном контакте с сервером, отказываясь работать вообще, если связь разорвана. В этом случае для активации необходимо подделать сам сервер. Эмуляторы Steam и частные серверы WoW являются примером этого.

И, в конце концов, ничто не поддается взлому.

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

И, в конце концов, ничто не поддается взлому.

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

И, в конце концов, ничто не поддается взлому.

18
ответ дан 4 December 2019 в 10:32
поделиться

Я подозреваю, что многие разработчики не предоставят эту информацию, потому что это открывает их для взлома. Но если бы я сделал это, я бы поступил следующим образом:

  1. Решите, лицензировано ли программное обеспечение человеку или компьютеру.
  2. Найдите способ идентификации человека / компьютера (учетная запись или идентификатор) от аппаратного обеспечения компьютера).
  3. По запросу / оплате: в вашей частной базе данных создайте лицензионный ключ и добавьте запись для человека / ПК с этим ключом.
  4. Предоставьте клиентскому программному обеспечению ключ.
  5. Ваше программное обеспечение либо хранит ключ локально, либо регулярно проверяет наличие ключа, предоставляя вашей службе идентификационную информацию, взамен которой ваша служба предоставляет ключ, если он есть. Если ничего не найдено, ваше программное обеспечение предлагает им подробную информацию для покупки лицензии. Последний позволяет использовать плавающие ключи, обновления компьютера,
1
ответ дан 4 December 2019 в 10:32
поделиться

Обычным и простым способом реализации активации / регистрации программного обеспечения является создание алгоритма лицензирования. Например, допустим, у меня есть условно-бесплатная программа, которую я хочу защитить, и когда кто-то дает мне деньги, я отправляю им 4-байтовый регистрационный код. Я мог бы встроить алгоритм в свою условно-бесплатную программу, чтобы он проверял код, вводимый пользователями. Мой алгоритм был бы следующим:

1) Byte0 * Byte1 = 6
2) Byte2 - Byte3 = 1
3) Byte0 + Byte2 = 8

Два возможных действительных кода:

3254
1676

Когда пользователь вводит действительный код, программное обеспечение разблокирует свои обычные функции, установив где-нибудь флаг. Очевидно, это чрезвычайно упрощенный пример. Алгоритмы проверки регистрации могут быть сколь угодно сложными.

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

1
ответ дан 4 December 2019 в 10:32
поделиться
Другие вопросы по тегам:

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