Генератор ключей

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Генератор ключей (жарг. кейген, киген) (от англ. keygen (произносится как «ки́джен»), key generator) — небольшая программа, которая генерирует:

  1. криптографический ключ для шифрования данных.
  2. псевдоподлинные CD-ключи или серийные/регистрационные/активационные номера для регистрации/активирования ПО.

Команды, специализирующиеся на взломе ПО, предлагают их на различных сайтах, посвященных распространению ПО без соблюдения лицензии. Так как лицензии большинства ПО, использующего ключи активации, требуют обязательной покупки кодов, использование кейгенов для неоплаченного собственнического ПО обычно является незаконным. Некоторые законы об авторском праве (например, DMCA 1998 года в США и четвёртая часть ГК 2008 года в России) прямо запрещают системы обхода ТСЗАП.

Авторы кейгенов[править | править вики-текст]

Кейгены пишутся как отдельными программистами, так и хакерскими группами, например, C.O.R.E., ORiON, Z.W.T, REVOLUTiON, XNTeam, Fight For Fun и др., специализирующимися на взломе программного обеспечения. Иногда такие группы заявляют о себе также тем, что включают своё название в сгенерированный ключ в открытом либо зашифрованном виде.

Принцип работы генератора ключей[править | править вики-текст]

Обычно ключ применяется во время установки. Программа-установщик применяет алгебраические вычисления к вводимому ключу для проверки его на подлинность. Например, алгоритму необходимо определить, что вводимый ключ должен содержать 5 чисел, сумма которых равна 25, и что ключ также должен содержать 3-5 литер так, что после перевода их в числовые эквиваленты получим сумму 42.

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

Проблемы кейгенов[править | править вики-текст]

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

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

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

Другая причина состоит в том, что разработчики ПО допускают ключи, которые, как они знают, были распределены среди представителей медиа во время разработки, или были выпущены для сетевой регистрации, приводя к тому, что криптографически правильный ключ становится не подлинным.

Третьей причиной может быть неопубликованный алгоритм, используемый продавцом. В дополнение к предыдущему примеру, символы 0, 1, 9, С и К никогда не принимаются. Программа, которая проверяет ключ на компьютере пользователя, не знает об этих ограничениях и примет вводимый ключ, но онлайн проверка не подтвердится.

Ключи для MMO игр бывают разными. Как правило, каждый ключ является уникальным и поставляется вместе с продуктом в защищенном виде, в конвертах или карточках со стирающимся покрытием. Обычно ключи становятся связанными с игровым аккаунтом после использования, что приводит к их дальнейшей бесполезности. Поэтому, обычно MMORPG не являются предметом пиратства.

Ответные действия разработчиков[править | править вики-текст]

Разработчики ПО пытаются предотвратить пиратство, используя активацию продукта, требующую от пользователя соединиться с интернетом или позвонить по телефонному номеру для дальнейшего использования ПО. Новейшие кейгены также содержат метод обхода активации продукта. Некоторые разработчики, как Adobe, включают телефонную активацию, требующую пользователя получить специальный код во время звонка. Специальный метод в кейгенах позволяет ввести номер, выдаваемый продуктом, и сгенерировать код активации, вводимый в продукт. Иные разработчики, такие как Norton, работают над этой проблемой и не включают эту функцию или же затрудняют нахождение программного кода. Это усложняет работу взломщиков по написанию генераторов ключей.

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

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

Интересные факты[править | править вики-текст]

Оформление кейгенов[править | править вики-текст]

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

Музыка в кейгенах[править | править вики-текст]

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

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]