Подмена официального сайта программ и/или соответствующее изменение настроек с целью обойти проверку ключа, если она была вынесена разработчиками на какой-либо интернет-ресурс (В абсолютном большинстве случаев — для предотвращения взлома, реже — для учёта и ведения статистики, сбора сведений). Чаще всего осуществляется на примитивном уровне путём модифицирования файла hosts и запуска различных эмуляторов, иногда — использование различных программ (Денвер) или использование реально существующего веб-ресурса.
Запрет доступа программы к интернету (жарг. заофлайнивание) заключается в комплексе действий, направленных на осуществление принудительного запрета доступа программы к интернету. Выполняется в тех случаях, когда программа требует активации лицензионного ключа через интернет (как правило, официальный сайт разработчика), либо в случаях, когда программа связывается с сервером разработчика для обмена данными или обновления. Как правило, устанавливается специальная утилита, которая блокирует доступ программы в сеть интернет, более примитивный способ-физическое отключение от Интернета. Это действие, обычно, производится после введения ключа, сгенерированного кейгеном.
Скачивание из интернета или с другого компьютера уже взломанной или купленной игры. Перекачивание лицензионной копии игры с компьютера друга взломом не является, но суть та же.
При взломе сложных защит, а также при необходимости достичь максимального эффекта, применяется комбинация вышеперечисленных способов. В редких случаях, это происходит при недостаточной квалифицированности взломщика.
Этот список не является исчерпывающим, а лишь обозначает наиболее встречаемые способы взлома.
Вид взлома, в большинстве случаев, обусловлен видом защиты. Для некоторых защит возможно использовать различные виды взлома, для других — способ может быть единственным.
Принципы взлома
Как правило, в основе работы крэкера лежит исследование ассемблерного кода, полученного из машинных инструкций с помощью специально предназначенной для этого программы-дизассемблера. В зависимости от выбранного способа взлома результат исследования может использоваться, например, для построения генератора ключейили для внесения необходимых изменений в исполняемый файл. Последний способ в большинстве случаев наиболее лёгкий, так как не требует изучения алгоритма проверки правильности ключа: зачастую взлом сводится к поиску проверки нескольких условий (наподобие «Введённое Число равно Эталонному Числу?») и замене такого условия на безусловный переход (goto, jmp), или, реже, на противоположное (то есть для данного примера на «Введённое Число не равно Эталонному Числу?»).
Кроме того, внесение изменений в исполняемый файл (патч) может производиться с целью отключения нежелательных действий со стороны программы (например, напоминание о необходимости регистрации), сокращения функциональности программы. В этих случаях соответствующие команды процессору часто заменяются на байты со значением 90h (в шестнадцатеричной системе счисления), что соответствует ассемблерной команде nop (no operation), то есть «пустой команде», не выполняющей никаких действий. Если таких команд много, то применяется безусловный переход (перепрыгивание через ненужный код). Возможно также расширение возможностей программы написанием дополнительного кода, но, как правило, это слишком трудоёмкий процесс, не оправдывающий временных затрат.
Между тем, патч возможен, как правило, в том случае, когда исполняемый файл программы не защищён специальными «пакерами» и «протекторами» — программами, скрывающими реальный код исполняемого файла. Для последнего типа программ зачастую используется самая интеллектуальная часть обратной разработки (англ. reverse engineering) — исследование кода программы при помощи отладчика и создание генератора ключей, но возможны и другие решения, например, создание загрузчика.
И хакеру пришлось воспользоваться одним из этих так называемых способов...
Чем дальше он погружался, тем тяжелее ему становилось... Каждый следующий шаг давался ему все труднее и труднее... Наконец, Тоя смог сдвинуться с мертвой точки... Как неожиданно все опять погасло... Но ответа от его напарника так и не было... Мир молчал или во все испарился! Парень в очках не понимал, почему так все плохо, он не может вытащить друзей из лап этой ведьмы и сам не может очнуться! Все слишком бесполезно... Однако, он услышал голоса своих товарищей они звали его... Но он не мог прийти в себя как не старался! Его это очень огорчало, он как будто в сети темноты и она его не выпускала... Рывок еще... рывок и так не каких результатов, опять все повторяется! Да как это, возможно! Стал злиться темноволосый парнишка... Правда толку все равно ноль! Однако, я должен это сделать, во что бы это не стало!