Кейгены что это такое
Вредоносная программа Keygen: что это такое, как это работает и как ее удалить
Пиратские версии программного обеспечения часто сопровождаются угрозами безопасности. Большую часть времени им требуются дополнительные приложения для запуска или регистрации. Одним из них является Keygen, простое приложение, которое может принести сумку, полную вредоносного или шпионского ПО, прямо у вашей двери.
Итак, сегодня мы собираемся объяснить, что такое Keygen.exe, как он может повлиять на вас и ваш компьютер и как с ним бороться. Если вас беспокоят негативные последствия, посмотрите подробное объяснение ниже.
Что такое вредоносная программа Keygen и как ее удалить
Что это такое и как это работает
Во-первых, давайте начнем с того, что именно представляет собой Keygen.exe. Keygen.exe или Key Generator – это инструмент для взлома, но не вредоносная программа как таковая. Он в основном поставляется с пиратским программным обеспечением, и его основное назначение – создавать лицензионные ключи, чтобы пользователи могли незаконно зарегистрировать это программное обеспечение. Таким образом, сами пользователи получают его сознательно.
Несмотря на то, что Keygen.exe сам по себе не является вредоносной программой, он по-прежнему является незаконным по очевидным причинам и может содержать вирусы Troyan или кейлоггеры для кражи данных, которые могут нанести ущерб вашему компьютеру. По этой причине большинство антивирусных решений распознают его как угрозу и удаляют из вашей системы.
По сравнению с трещинами Keygen не изменяет никакие части программы. Это просто, с модификацией определенных алгоритмов безопасности, позволяет любой случайный лицензионный ключ работать. После того, как вам будет предложено вставить лицензионный ключ во время установки, Key Generator (Keygen.exe) сгенерирует ключ, чтобы вы могли вставить его вручную. Благодаря достижениям в защите программного обеспечения, хакерские инструменты Keygen в настоящее время практически не используются, но, тем не менее, все еще присутствуют в пиратском сообществе. В частности, с более старыми программами, которые поддерживают этот метод авторизации.
Как мы уже заявляли, несмотря на то, что Keygen.exe не является вредоносным ПО, в более чем 50% случаев он содержит вредоносное программное обеспечение. Это риск, который готовы принять на себя некоторые пользователи, но мы не советуем вам это делать. Более того, пиратское программное обеспечение, помимо того, что оно незаконно, может быть проблемой само по себе. Сомнительно, что вы торгуете за бесплатное пиратское программное обеспечение, потому что мы искренне сомневаемся в альтруистических намерениях всех хакеров или взломщиков, которые его предоставляют.
Как удалить кейген
Защитник Windows и большинство сторонних инструментов легко справятся с Keygen.exe. Существует даже теория, что, хотя в Keygen нет вредоносного программного обеспечения, антивирусы по-прежнему склонны помещать его в карантин. Это, вероятно, правда, но кто может обвинить разработчиков? Давайте назовем это солидарностью между компаниями-разработчиками программного обеспечения.
Если вы хотите избавиться от Keygen и других связанных файлов, вы можете сделать это, удалив его вручную. Просто полностью удалите загруженные файлы, и это должно быть. С другой стороны, есть вероятность, что ваша система уже заражена, поэтому рекомендуется провести глубокое сканирование.
Следуйте приведенным ниже инструкциям, чтобы выполнить глубокое сканирование с помощью Защитника Windows в Windows 10:
Это должно сделать это. Мы надеемся, что это было полезным чтением.
Какой у вас опыт работы с Keygen.exe и подобными хакерскими инструментами? Какова ваша позиция в отношении пиратского программного обеспечения?
Не стесняйтесь сообщить нам в разделе комментариев ниже.
СВЯЗАННЫЕ ИСТОРИИ, КОТОРЫЕ ВЫ ДОЛЖНЫ ПРОВЕРИТЬ:
Что такое кейген
Содержание статьи
Платное станет бесплатным
Пользоваться кейгенами достаточно легко, плюс ко всему они не занимают много места. Чтобы воспользоваться любым из них, достаточно запустить его и нажать кнопку «Generate» или «Генерировать». Получившийся код надо скопировать и вставить при регистрации программы.
Риски при использовании кейгенов
Как правило кейгены распространяются бесплатно, вместе с тем программным обеспечением, к которому они предназначены. Они написаны с помощью алгоритмов, которые аналогичны тем, что используются при создании вирусов и троянов. По этой причине многие из них определяются антивирусными программами как вредоносные. Зачастую это и вправду так.
Использование кейгенов, чаще всего, является уголовно наказуемым преступлением из-за нарушения авторских прав при использовании платного программного обеспечения. Сами разработчики платных программ понимают, что любой человек попытается бесплатно использовать плоды их трудов. Поэтому они осознанно борются с этим с помощью сложных алгоритмов генерации лицензионных ключей, созданием баз легальных и нелегальных пользователей, взаимодействием с разработчиками антивирусных программ и многое другое.
Однако Россия из года в год занимает первое место по использованию нелицензионного программного обеспечения. Связано это с тем, что стоимость многих из них является немалой. К этому стоит прибавить и неотработанное правоприменение в отношении нарушителей авторских прав при использовании лицензионных продуктов. Чаще всего кейгены выпускаются к таким популярным платным программам, как офисные пакеты от Microsoft, операционные системы семейства Windows, программы распознавания текстов (например, Abbyy’s FineReader) и графические редакторы (Adobe Photoshop).
eponim2008
Жизнь замечательных имен
Короткие истории о вещах и о людях, давших им свое имя
Что такое Keygen и для чего он нужен?
Известно, что халява слаще сахара. Поэтому желание попользоваться бесплатно теми программами, за которые другие платят деньги (и не малые) легко понять. Не менее понятно и желание производителей программ сделать так, чтобы пользователи оплачивали их нелегкий труд и покупали программы, а не копировали их друг у друга бесплатно.
Первый способ, который придумали разработчики для защиты своих программ от несанкционированного копирования, было использование регистрационного ключа. Регистрационный ключ представляет собой набор цифр и букв длиной от 10 до 30 символов. Он необходим для того, чтобы подтвердить уникальность устанавливаемой копии программы. Чаще всего регистрационный ключ писался на упаковке или же в руководстве по устанавливаемой программе.
В процессе установки программы в определенный момент запрашивался регистрационный ключ. После ввода ключа программа проверяла этот ключ на соответствие, и если он был введен правильно, процесс установки программы продолжался. Если был введен неправильный ключ, установка программы прерывалась. Таким образом, просто скопировать программу было недостаточно, следовало еще знать ее регистрационный ключ.
Регистрационные ключи генерировались по определенному алгоритму. В подробности этого алгоритма я входить не буду. Во-первых, таких алгоритмов много, а во-вторых, они достаточно сложные. Для тех, кто заинтересуется и пожелает овладеть этими «тайными знаниями», скажу «волшебное слово», по которому можно отыскать в Интернете подробности. Это слово – «хеширование» (или «хэширование») которое по-английски пишется «hashing». Алгоритм хеширование позволяет преобразовать некоторый массив данных в строку, состоящую из символов, имеющую другой, как правило, меньший, размер. Таким образом, регистрационный номер несет в себе много информации о программе, включая номер версии. Поэтому, например, регистрационные ключи для ранних версий программы не подходили для ее более поздних версий.
Первый вариант обхода регистрационного ключа был очевиден: попросить верный ключ у кого-нибудь, кто уже купил эту программу. Надо сказать, что знакомые почти никогда не отказывали в этой «благородной» просьбе: помочь украсть программное обеспечение. К тому же в Интернете было довольно много добрых душ, которые помещали в открытый доступ регистрационные ключи популярных программ, а иногда даже заводили для этой цели специальные базы данных.
Надо сказать, что разработчики программ, тоже имели доступ к Интернету. Чаще всего они изменяли алгоритм проверки регистрационного ключа так, чтобы он отсеивал «паленые» значения. Так что через некоторое время чужие ключи переставали подходить к твоему замочку.
Второй вариант обхода регистрационного ключа состоял в том, чтобы узнать алгоритм проверки регистрационного ключа и написать программу, которая генерировала бы символьные последовательности, проходящие эту проверку. Делается это с помощью «обратной инженерии» (или по-английски, «reverse engineering»). Это еще одно «волшебное слово» для тех, кто желает поподробнее ознакомиться с этим полукриминальным ремеслом.
Как происходит обратная инженерия? Чаще всего с помощью программы-дизассемблера программист генерирует код «взламываемой» программы в виде текста на машинном языке, ассемблере. Просмотрев такой текст, можно обнаружить функцию, ответственную за подтверждение подлинности регистрационного ключа. А разобравшись, как эта функция работает, можно написать свою программу, которая будет выдавать последовательности регистрационных ключей, расцениваемых проверяющей программой, как правильные. Подобные маленькие программы называются генераторами ключей или по-английски «key generator». Чаще всего генераторы ключей называют сокращенно, «keygen». По-русски это слово произносится и как «киджин», и как «кейген», и как «киген».
Лет пятнадцать-двадцать назад генераторы ключей были очень популярны. Сейчас их популярность постепенно сходит на нет. В чем причина?
Во-первых, создатели программ придумали более хитрые приемы защиты. Кроме усложнения проверочных функций и маскировки их положения в программе установки, многие фирмы, особенно крупные, стали требовать подтверждения регистрации в своих региональных отделениях. Теперь только после подтверждения, чаще всего по телефону, Вы получаете ключ, который «откроет» программу установки. Это похоже на отель, в котором дверь Вам открывает портье, знающий, зарегистрированы ли Вы именно в этом отеле..
Во-вторых, с развитием Интернета проверочные модули программ стали напрямую связываться с фирменным сервером, на котором ведется база данных зарегистрированных программ и автоматически регистрироваться на этом сервере. Такую автоматическую регистрацию через Сеть подделать стало труднее. По крайней мере, генераторы ключей здесь бесполезны. Подобным образом происходит регистрация Windows, начиная с версии 7. Поэтому «выцарапывать» из Интернета «взломанную» версию этой операционной системы не стоит. Только проблемы наживете. Тем более, наконец, Windows и стоить стали не бешеные деньги. В настоящее время Windows 7 вполне стоит тех денег, которые Вы за нее платите, освобождая простого пользователя от массы забот с операционной системой. Наконец-то Вы можете думать о работе, а не о системных проблемах!
В-третьих, генераторы ключей очень часто не столько генерировали ключи для взлома чужих программ, сколько заражали компьютеры своих пользователей вирусами и «троянскими» программами, чтобы затем взломать эти компьютеры. Вот уж воистину, с кем поведешься, от того и наберешься.
И, наконец, в-четвертых, оказалось, что для продуктивной работы с компьютером не нужно много программ. И, в дополнение к этому, многие профессиональные программы получили достойные бесплатные аналоги. Например, вместо дорогого Adobe Photoshop можно использовать бесплатный графический редактор GIMP практически с теми же возможностями. Для просмотра Интернета есть несколько бесплатных прекрасных браузеров, а пакет программ Open Office работает ничуть не хуже Microsoft Office. Так что быть честным вполне стоит.
Взлом программ для чайников
Disclaimer: всё ниженаписанное написано исключительно с просветительскими и исследовательскими целями, а также понимания механизмов защиты от взлома. Автор ни в коем случае не рекомендует использовать данную информацию для взлома программ.
Т.е. на самом деле, декомпиляция программы не очень верное понятие в данном случае. Она и так вся в открытом виде лежит, а инструменты в виде Reflector’а занимаются тем, что приводят конструкции MSIL к соответствующим конструкциям C# или другого языка, повышая читабельность кода.
Перейдём, собственно, к взлому.
0. Обнуление триала
Собственно, это даже не взлом, а полулегальный способ продлить срок использования неактивированной программы. Заключается он в том, что находится место, где хранится дата первого запуска и меняется/уничтожается. После этого всё можно пользоваться программой до следующего срока.
Посмотрим на нашего подопытного рефлектором. Немного погуляв по коду, находим интересную строчку в конструкторе MainForm:
Открываем редактор реестра, идём в HKEY_CURRENT_USER\Software\Ultrapico\Expresso и видим следующие ключи:
Удаляем их и получаем ещё 60 дней работы.
Данный вариант, конечно, прост и очевиден, но если он даже был бы сложнее — потребовалось бы чуть больше времени провести в рефлекторе, чтобы выяснить все места, куда пишется информация и зачистить их.
Совет разработчикам, которые будут пытаться записать данные в потаённое место: пишите аккуратнее, а то всё может обернуться проблемами обычным пользователям, у которых почему-то не окажется данного места, или не хватит на него прав.
1. Написание keygen’а
Самый ужасный для разработчика вариант, и самый приятный для конечного злобного пользователя. Программа считает себя лицензионной, никаких страшных телодвижений не нужно делать.
Открываем рефлектор и ищем код на предмет классов содержащих License или Registration, видим:
При вводе имени и кода по имени вычисляется некий хеш, который и сравнивается с кодом.
Данный хеш использует DES и всякие префиксы
Байты конвертятся в строку с помощью данного метода.
Теперь всё выяснилось, открываем IDE и копируем все необходимые куски кода (или сами реализовываем). Осталось только выяснить, какие значения у Prefix, Suffix и параметры реализации MyDES. Я их приводить не буду, это уже технические детали.
В результате генерируем ключ на любое имя и видим:
Защита от кейгенов проста и очевида: использовать в каком либо виде ассиметричное шифрование. Т.е. сделать так, чтобы без знания приватного ключа сгенерировать код было бы невозможно, а данный ключ находится только в одном месте — у автора программы.
2. Использование враппера
Проверка корректности лицензии, достаточно хлопотное дело, и небыстрое. Поэтому разработчики программ обычно проверяют лицензию один раз, и дальше используют полученный флажок — валидна/невалидна (как вариант насколько валидна, если допускается несколько типов лицензии, отличающихся возможностями). Тут можно на этом сыграть, использовав следующий алгоритм:
С запуском ничего интересного, а в проверке видно, что если уже программа зарегистрирована, то она считает, что всё хорошо и не делает дальнейшую работы по выяснению корректности лицензии.
Воспользуемся этим. Сделаем новый проект, добавим Reference на Expresso.exe и запустим его через себя:
Смотрим, что получилось:
Ну кто бы сомневался.
В данном случае всё оказалось просто, но если бы автор программы заменил публичные свойства на приватные, то всего-лишь пришлось бы использовать Reflection для доступа и всё бы свелось к исходной задаче.
Думаю понятно, как можно пробовать защититься от этого — проверять лицензию периодически, смотреть окружение из которого запущена программа, сделать невозможным установку нужной переменной.
Но все эти защиты приведут к тому, что злоумышленник будет использовать
3. Физический взлом программы
Потом берём ilasm и собираем всё назад (не забыв подключить ресурсы).
Что делает данный код: устанавливает нужное имя для регистрации (не обязательно), и возвращает статус, что всё хорошо.
Чтобы было понятнее, так это выглядит в рефлекторе, в C#
Т.е. вполне очевидно, что теперь всё будет хорошо:
Немного про код в MSIL: это стековая машина, у которой нет регистров, все операции имеют вид: засунуть в стек нужное количество параметров, выполнить функцию, которая заберёт нужное количество параметров и положит результат. Ну и обратно: установить значение переменной тем, что лежит в стеке. Чтобы лучше понять работу всего этого рекомендую простой приём: пишите маленькую программу на привычном языке, компилируете, смотрите что получилось в MSILe и разбираетесь в конструкциях языка.
При этом некоторые вещи в MSIL можно сделать очень красиво, например поменять две переменные местами — 4 симпатичных строчки (на C# меньше, но некрасиво).
Чем жертвует злоумышленник: подписью программы, теперь она уже не автора, а его. В некоторых случаях это проблема, если в программе используется множество библиотек. Тогда злобному хакеру придётся разбирать их все и собирать их заново, но если он с этим справится, то у него будет «своя» версия программы подписанная его ключом.
Защиты от всего этого безобразия собственно немного: проводить обфускацию или выносить часть логики/проверки защиты в нативный код.
Кейген
Генератор ключей (жарг. кейген, киген) (от англ. keygen, key generator ) — небольшая программа, которая генерирует:
Содержание
Авторы кейгенов
Кейгены пишутся как отдельными программистами, так и хакерскими группами, например, 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, работают над этой проблемой и не включают эту функцию или же затрудняют нахождение программного кода. Это усложняет работу взломщиков по написанию генераторов ключей.
Некоторые разработчики (например, System SoftLab) используют часть лицензионного ключа для восстановления зашифрованного участка памяти программы для возможности ее дальнейшей работы. Поэтому, даже если взломщик подберет алгоритм согласно дизассемблированному коду, узнать часть ключа, ответственную за восстановление кода программы в памяти становится невозможным без использования ранее купленного лицензионного ключа.
Кейгены широко доступны, но законность их использования разнится в международных масштабах.
Интересные факты
Оформление кейгенов
Как правило, кейгены пишутся на языке ассемблера и имеют небольшой размер. Иногда кейгены работают в командной строке, но чаще всего оформляются в виде программы с оригинальным графическим интерфейсом, который также является средством самовыражения разработчика кейгена.
Музыка в кейгенах
Во многих кейгенах присутствует фоновая музыка (как правило трекерная), воспроизводимая на протяжении работы кейгена (в некоторых имеется возможность приостановки воспроизведения). Обычно музыка составлена таким образом, что возможно циклическое воспроизведение. Иногда на компьютерах без установленных звуковых драйверов кейгены могут не работать именно из-за музыки.
В связи с этим появились целые порталы, где собраны мелодии из различных кейгенов [1] и других видов крэков: