Введение в крэкинг с нуля, используя OllyDbg - Глава 17

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,413
2,025
Хорошо, прежде всего мы решим крэкми
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
. Он очень лёгкий. Откроем его в OllyDbg и окажемся в точке входа.

1310c70ec226cd28030137e79d88849e.png

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

08ba56d63ead3e266680937f8b80fc35.png

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

98868d8373200eb57629f3d83c444c19.png

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

70b20f7812c9bac98c882a8b309ddbce.png

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

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

52b20783aae0e31dc1db08bb00dec740.png

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

336dd513d3556d0caa0be776f08c078e.png

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

3444b92afa5d7af1c653cc075fffdc2c.png

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

08e6f6077716d1fc4e69a149e7e49367.png

45d05599c0794bd77b7b1e49bc68c9fc.png

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

0bb4bbcd28bff3e481ff08815ba75a13.png

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

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

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

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

4230e34b6ddf746981111f0538b6dee2.png

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

c45f0d50659b3bde676b8d37d62666a1.png

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

fc7c8131f35495341fc21f3fbc924776.png

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

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

f90fd7658a4440dac9ce594f8d983713.png

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

3349e037b18b2b97380c17bf03bf0d57.png

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

045b19eadda31e938a6180e6ce154347.png

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

d0c8767794fa0c0e3a2313a4bce56659.png

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

a28f8d7d9d462c48974b70f4f900c075.png

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

8896d49995953c2c819c4a2d9471abf4.png

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

e355c268adcfbf7e65ed9d5f07ca1bed.png

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

da6bab262c05637d5752c757c69f1c38.png

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

533c7a48792d2827fd8c4199700041bb.png

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

5c0f5035a7aee5365093d4134195da69.png

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

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

140fba32340bca9d08f6703670432951.png

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

71577e095437281875889daa724d2868.png

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

c06ffa1ca8376effe2d64bba9250c653.png

606db26c63d7750391fe4986ad049466.png

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

efa7870347be1566269107ae4271ba6c.png

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

35a1647728e6362e9cdf803a26bd825d.png

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

6438e44dacf891733c0de893355d1b4e.png

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

d5a37dbee73688e1bbdcc8421644e798.png

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

c79619256e47ee2ac35fed55424b4f3c.png

9980081a3bc442053b1be09b0819d769.png

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

576d22ee59f4e2ba8ea5b78a1959a4db.png

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

1648ecc91b763b1a2231feb6cd8a61fb.png

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

cd4b433313c7bb95b3c9eba5b1feb1f9.png

6dcdd0282898eef31a70b3b5b8bf80c9.png

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

c41e6ae27715e9ab533a38e70f981740.png

f0d59e69e426eebba4ab72b99ed90d73.png

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

694e51efd1d96c4ca03c334f46bb81a8.png

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

ddb712d6b823d8fb147ef112abe5bfe2.png

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

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

6f16194b416c04bda7d65bce9e8d4653.png

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

13bb4df04a82928a9d7589dd775c5550.png

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

de566416b12fd3b302fc9b7c3ff1ba6d.png

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

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

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,413
2,025
BINGO_SHARK, многие и этого даже не знают....
 
  • Лайк
Reactions: K_NoW

О нас

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

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя