Как работают 25-символьные клавиши продукта?
Продукты и другие продукты Microsoft часто имеют ключ продукта, который состоит из 5 групп из 5 символов, например:
ABCDE-12345-ABCDE-12345-VWXYZ
Как продукт знает, действительно ли ключ? Какая-то криптография? Есть ли библиотека, если я хочу использовать этот тип ключа продукта в своем коде?
Ответы
Ответ 1
Возможно, вам стоит взглянуть на эту статью о том, как реализовать функцию проверки серийного номера. Он также переходит к некоторым передовым методам, таким как, как держать на вершине keygens, просочившиеся ключи и т.д.
Короче говоря, в этом ключе обычно есть три базовых поля:
- фактический серийный номер, который в статье называется "семя"
- некоторые данные проверки; только часть данных проверки фактически проверяется кодом
- контрольная сумма, CRC или другой простой механизм защиты отпечатков.
Выполняя только часть проверочных данных в вашем коде, вы можете делать такие вещи, как "подлинная проверка" (в этом случае остальная проверка происходит на вашем сервере) или отключение ключей, проверяя разные подмножества проверки данные в новых выпусках.
Ответ 2
Для продуктов Microsoft, в частности, есть некоторые имеющиеся знания.
Ключи продуктов в Windows XP кодируются base24 с использованием пользовательского алфавита. Он состоит из серийного номера (источник называет его "Raw Product Key" ) и цифровой надписи. источник
Ключи продуктов в Windows 8 и выше имеют некоторую документацию в патентной заявке на программное обеспечение WO 2012067888 A1. Он по-прежнему кодируется base24 (act 57 и seq., Что на практике означает, что позиция "N" используется как самый первый символ для декодирования). Суть его в том, что эти части находятся под ключом Windows 8 и выше:
- Идентификатор группы, который указывает канал type/edition/family/distribution, см. действие 34)
- Серийный номер (формы "Raw Product Key" вместе с идентификатором группы)
- Значения безопасности 1 и 2 (разных степеней безопасности, вероятно, являются сигнатурами, см. действия 34 и последующие, 46, 55).
- Контрольная сумма (действие 56, на практике усеченный POSIX cksum над ключом)
- Обновить бит
Ответ 3
Существует четыре способа подтверждения ключа.
- Простой сравнение с существующей строкой в exe (чрезвычайно легко взломать)
- Алгоритмическое сравнение с введенной строкой символов (почти так же просто, как # 1. Зависит полностью от обратных инженерных навыков взломщика).
- Сравните с сервером через Интернет. (можно обойти)
- Аппаратный ключ.
В зависимости от продукта, который у вас есть от Microsoft, они используют один из первых трех механизмов выше. Например, их ОС обычно звонит домой; но их инструменты dev либо имеют ключ, испеченный или сравнительный алгоритм. Некоторые из их более старых ОС использовали для выполнения алгоритма.
Существует модифицированный вариант 3, но это просто так, что телефон с телефоном часто бывает так часто, как правило, на основе какого-то события. В случае с ОС MS проверяет введенный ключ продукта на наличие определенных обновлений Windows и других загрузок продукта. Кроме того, в зависимости от самого лицензионного ключа он может звонить домой один раз в месяц или около того. В качестве примечания, есть причина, почему в Китае установлена базовая платформа IE6.
4-й вариант также можно обойти. Обычно взломщик просто исправляет ваш продукт, чтобы обойти часть кода, который выполняет проверку оборудования.