Взлом крэкми и программы с защитой имя-пароль. Крэкинг ч.17

Обсудить статью на форуме


Очень удобно, когда все крэкерские инструменты, книги и статьи в одном месте. Используйте сборник 2020 года от EXELAB - вот тут.


Хорошо, прежде всего мы решим крэкми MEXCRK1.ZIP. Он очень лёгкий. Откроем его в OllyDbg и окажемся в точке входа.

Взлом программ отладчиком OllyDbg

Смотрим строки, которые используются программой. Нажимаем правую кнопку мыши.

Взлом программ отладчиком OllyDbg

Видим среди строк следующие:

Взлом программ отладчиком OllyDbg

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

Взлом программ отладчиком OllyDbg

Видим, что здесь есть call, после которого либо происходит управление передаётся на код либо с «WRONG CODE DUDE», либо c «THANKS YOU MADE IT».

Устанавливаем BPX на CALL в 42d534 и нажимаем RUN.

Взлом программ отладчиком OllyDbg

Введём неправильный серийный номер в поле, которое называется «Enter Serial #».

Взлом программ отладчиком OllyDbg

В моём случае печатаем Narvajita.

Взлом программ отладчиком OllyDbg

Если войдём в режиме трассировки в CALL, то увидим, что сравнивается введённый серийник «Narvajita» со строкой «Benadryl».

Взлом программ отладчиком OllyDbg

Взлом программ отладчиком OllyDbg

Ок, теперь мы оказываемся рядом со сравнением, так что правильным серийным номером является слово «Benadryl». Сделаем RUN по-новой, убрав предварительно все BPX.

Взлом программ отладчиком OllyDbg

Здесь видим, что нас поздравляют с нахождением правильного серийного номера .

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

Эта программа относится к той категории, где при кнопка OK в начале недоступна для нажатия, но когда пользователь заканчивает вводить свои данные, то если они верны, на неё становится возможным нажать.

Установим программу и зайдём в About.

Взлом программ отладчиком OllyDbg

Она стоит, друзья, 20 долларов, вернее 19.95.

Взлом программ отладчиком OllyDbg

Видим кнопку «ENTER LICENSE».

Взлом программ отладчиком OllyDbg

Здесь говорится, что кнопка OK станет доступна, когда будет введена правильная комбинация.

Запустим программу в OllyDbg.

Взлом программ отладчиком OllyDbg

Мы оказываемся в точке входа.

Взлом программ отладчиком OllyDbg

Уфф, список используемых API-функций велик, также как и список строк.

Взлом программ отладчиком OllyDbg

Среди этих строк нет никаких, которые подходили бы нам по смыслу, хех.

Взлом программ отладчиком OllyDbg

Запускаем программу в OllyDbg и оказываемся в окне регистрации. Попробуем применить какой-нибудь из методов взлома данного типа защит.

Взлом программ отладчиком OllyDbg

Вводим имя, предполагая, что оно может быть любым, поскольку узнать мы это можем только потом, затем вводим какой-нибудь редкий License Key, состоящий из 6 символов, например, WMYXSZ.

Взлом программ отладчиком OllyDbg

Теперь нажимаем M.

Взлом программ отладчиком OllyDbg

Поищем, нет ли в памяти строки «WM», соответствующей двум уже введённым буквам.

Взлом программ отладчиком OllyDbg

Нажимаем клавишу M, чтобы перейти в VIEW-MEMORY, и начать поиск вышеуказанной строки.

Взлом программ отладчиком OllyDbg

В данном случае отмечаем опцию CASE SENSITIVE, чтобы не выдавались аналоги WM в других регистрах.

Взлом программ отладчиком OllyDbg

После двух или трёх раз, когда встретятся слова, начинающиеся с WM, и которые можно пропустить, нажав CTRL+L, и после того, как пройдём одну секцию и будем искать ниже в окне M, нам встретится WM, не входящая в состав других слов, и ещё ниже находится текст, говорящий о том, что на кнопку OK можно будет нажать после введения правильного серийного номера.

Поищем это место через DUMP.

Взлом программ отладчиком OllyDbg

Вспомним, что адрес, который начинается с буквы (как в данном случае), должен начинаться с нуля, иначе OllyDbg его не признает.

Взлом программ отладчиком OllyDbg

Чтобы быть уверенными, что это именно та область, где сохраняется серийный номер, введём следующую букву в поле серийного номера.

Взлом программ отладчиком OllyDbg

Взлом программ отладчиком OllyDbg

После этого смотрим в DUMP, символ был добавлен, а значит это и есть область, где сохраняется серийный номер, поэтому ставим сюда BREAKPOINT MEMORY ON ACCESS, охватывающий 6 цифр (так как мы знаем, что их будет ровно шесть).

Взлом программ отладчиком OllyDbg

Теперь делаем RUN.

Взлом программ отладчиком OllyDbg

Появляется окно, в котором вводим следующий символ – “X”.

Взлом программ отладчиком OllyDbg

Останавливаемся на том месте, где происходит сохранение.

Взлом программ отладчиком OllyDbg

Здесь по нажатию на F8 происходит копирование ESI в EDI.

Взлом программ отладчиком OllyDbg

Взлом программ отладчиком OllyDbg

Здесь происходит копирование четырёх байтов, введённых нами ранее.

Взлом программ отладчиком OllyDbg

По нажатию на F8 они копируются в 12E79C.

Взлом программ отладчиком OllyDbg

Так как мы уже используем BREAKPOINT MEMORY ON ACCESS, то можем установить HARDWARE BPX ON ACCESS.

Взлом программ отладчиком OllyDbg

Взлом программ отладчиком OllyDbg

Если оттрассируем немного, увидим моё имя также перемещается в стек.

Взлом программ отладчиком OllyDbg

Взлом программ отладчиком OllyDbg

Точно перед именем находится 0E, которое является его длиной, и она сравнивается с нулём.

Взлом программ отладчиком OllyDbg

Так как не равно нулю, выполнение программы продолжается.

Взлом программ отладчиком OllyDbg

Затем происходит сравнение имени с теми, кто находится в чёрном списке, то есть оно не должно быть TNO, afdad и т.п.

Снова делаем RUN.

Взлом программ отладчиком OllyDbg

Останавливаемся на сравнении с серийным номером.

Взлом программ отладчиком OllyDbg

И можем посмотреть, действительно ли это правильный серийный номер. Убираем все точки останова.

Взлом программ отладчиком OllyDbg

После его введения становится доступной кнопка “OK”, после её нажатия мы регистрируемся, хе-хе. Другим способом, на объяснении которого я не буду задерживаться, но который не слишком сложен, является использование WM_KEYUP каждый раз, когда нажимаем клавишу, чтобы останавливать OllyDbg и отслеживать, что происходит с введенным нами символом, но это довольно скучно, и способ, который мы применили, гораздо более простой.

Ок, давайте отдохнём немного. В следующей части мы изучим немного теории и рассмотрим несколько примеров по новой теме.

  [C] Рикардо Нарваха, пер. Aquila

Обсуждение статьи: Взлом крэкми и программы с защитой имя-пароль. Крэкинг ч.17 >>>


При перепечатке ссылка на https://exelab.ru обязательна.



Видеокурс ВЗЛОМ