Как работают 25-символьные ключи продукта? - PullRequest
12 голосов
/ 01 декабря 2010

Продукты Microsoft и другие продукты часто имеют ключ продукта из 5 групп по 5 символов, например:

ABCDE-12345-ABCDE-12345-VWXYZ

Как продукт узнает, действителен ли ключ?Какая-то криптография?Есть ли библиотека, если я хочу использовать такой код продукта в своем коде?

Ответы [ 3 ]

5 голосов
/ 01 декабря 2010

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

Короче говоря, в таком ключе обычно есть три базовых поля:

  • фактический серийный номер, который статья называет «семенем»
  • некоторые данные проверки;только часть проверочных данных на самом деле проверяется кодом
  • контрольной суммой, CRC или другим простым механизмом проверки типа

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

2 голосов
/ 25 июля 2017

В частности, для продуктов Microsoft доступны некоторые знания.

Ключи продуктов в Windows XP кодируются в base24 с использованием специального алфавита.Он состоит из серийного номера (источник называет его «Ключ необработанного продукта») и цифровой подписи над ним. source

Ключи продуктов в Windows 8 и выше содержат некоторую документацию в заявке на патент программного обеспечения WO 2012067888 A1 .Он по-прежнему закодирован в base24 (действие 57 и далее, что на практике означает, что позиция «N» используется в качестве самого первого символа для декодирования).Суть в том, что в Windows 8 и более поздних версиях продукта есть следующие части:

  • Идентификатор группы, который указывает тип / издание / семейство / канал распространения, см. Действие 34)
  • Серийный номер (формы «Ключ исходного продукта» вместе с идентификатором группы)
  • Значения безопасности 1 и 2 (различного уровня безопасности, оба, вероятно, являются сигнатурами, см. Действия 34 и след., 4655)
  • Контрольная сумма (действие 56, на практике усеченная POSIX cksum поверх ключа)
  • Бит обновления
0 голосов
/ 01 декабря 2010

Существует четыре способа подтверждения ключа.

  1. Простое сравнение с существующей строкой в ​​exe (чрезвычайно легко взломать)
  2. Алгоритмическое сравнение с введенной строкой символов (почти так же просто, как # 1. Полностью зависит от навыков обратного инжиниринга взломщика).
  3. Сравните с сервером через Интернет. (можно обойти)
  4. Аппаратный ключ.

В зависимости от продукта, который у вас есть от Microsoft, они используют один из первых 3 механизмов выше. Например, их ОС обычно звонят домой; но у их инструментов разработчика либо есть ключ, либо они выполняются алгоритмическим сравнением. Некоторые из их старых ОС использовали для алгоритма.

Существует модифицированный вариант 3, но он просто заключается в том, что телефон приложения время от времени остается дома, обычно на основе какого-либо события. В случае с ОС MS проверяет введенный ключ продукта для определенных обновлений Windows и других загрузок продукта. Кроме того, в зависимости от самого лицензионного ключа он может звонить домой раз в месяц или около того. Как примечание стороны, есть причина, почему у Китая есть установленная база # 1 IE6.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...