Cracking Tut0r!al #1 Итак приступим.

Взлом и защита, хакинг, обзоры в мире андеграунда.
Нет аватарки

Автор темы
Spirit

Cracking Tut0r!al #1 Итак приступим.

#1

Сообщение Spirit » 20 ноя 2008, 07:40

Tut0r!al #1 Итак приступим.

1. Поиск жертвы
2. Анализ
3. Распаковка
4. Непосредственно взлом
5. Отмазки автора и прочее


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

потом решил не морочить голову. Зашел на download.ru и скачал первую

попавшуюся платную программу, ей оказалась Magic Photo Recovery 2.0 от

East Imperial Soft. Размер жертвы всего-лишь 914 кб и думаю она идеально

нам подойдет. Для того, чтобы вы не мучились с поисками, скачать ее можно тут:

http://www.file-post.org/fpost/files/t0 ... ery_Ru.exe

2. Анализ
Итак мы уже скачали все нужные инструменты, жертву и установили ее. Переходим в

каталог с программой и видим: что программа состоит всего из 6 файлов. Нас

интересует Magic Photo Recovery.exe. Щелкаем на нем правой

кнопкой->Scan with PEiD
. Как мы видим, программа упакована комерческим

пакером ASPack 2.12.
Изображение
Значит преступить непосредственно к взлому у нас не получится, сначала придется

распаковать программу, а потом уже ломать.

3. Распаковка
Открываем 0llyDbg.exe(Spirit!.exe - это немного пропатченый и

исправленый вариант, поэтому именно через него мы и будем работать).

File->Open->Выбираем Magic Photo Recovery.exe. Ждем немного, пока отладчик

проведет анализ. Теперь внизу окна пишем: hr esp-4,

Изображение
Debug->Run(F9) и останавливаемся тут:
Изображение
Далее нажимаем 3 раза кнопку F8 (Debug->Step over) и

оказываемся в таком месте:
Изображение
Это означает, что теперь программа полностью распаковалась и можно снимать дамп.
Запускаем PETools, в списке процессов выбираем наш, и дампим:
Изображение
сохраняем файл, как dumped.exe, закрываем PETools, открываем

ImpREC.
В ImpREC'e, в поле Attach an active process выбираем наш процесс, в

поле OEP вписываем адрес того места, где мы остановились в отладчике

(00529E48-00400000=129E48) и нажимаем IAT AutoSearch, в появившемся

окне наживаем ОК, далее жмем Get Imports. И последний шаг - кнопка Fix

Dump
, в открывшемся диалоге выбираем дамп (dumped.exe).
Изображение
Готово! Теперь файл распакован и готов для взлома. Переходим к следующему шагу.

4. Непосредственно взлом
Загружаем распакованный файл(dumped_.exe) в OllyDbg. Немного ждем,

пока идет анализ. Затем запускаем жертву под отладчиком (F9 или

Debug->Run
). Запустилась программа, в заголовке написанно

"Незарегистрированная версия", снизу окна есть кнопка "Регистрация". Чтож, будем

исправлять. Жмем регистрацию, и вводим любое имя и серийный номер. Нам говорят

что серийный номер неверен. Не закрывая окна с сообщением переходим в отладчик и

приостанавливаем процесс (F12 или Debug->Pause), затем выбираем

Debug->Execute till user code (Alt+F9), переходим в окно программы и жмем

кнопку OK в окне сообщения. Нас выбрасывает в отладчик в это место:
Изображение
Это код, который выполняет программа, сразу после вывода сообщения о неверном

номере. Нас он не интересует и поэтому выходим из этой функции (2 раза Ctrl+F9

и один раз F8
). А вот здесь код уже интересней. Промотав листинг вверх мы

видем такое:

Код: Выделить всё

0052482A   . 8B80 60030000  MOV EAX,DWORD PTR DS:[EAX+360]
00524830   . E8 03D6F2FF    CALL Magic_Ph.00451E38
00524835   . 8B45 CC        MOV EAX,DWORD PTR SS:[EBP-34]
00524838   . 8D55 D0        LEA EDX,DWORD PTR SS:[EBP-30]
0052483B   . E8 A03EFFFF    CALL Magic_Ph.005186E0
00524840   . 8B55 D0        MOV EDX,DWORD PTR SS:[EBP-30]
00524843   . 58             POP EAX
00524844   . E8 C70CEEFF    CALL Magic_Ph.00405510
00524849   . 0F85 AA010000  JNZ Magic_Ph.005249F9
0052484F   . 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
00524852   . C680 84030000 >MOV BYTE PTR DS:[EAX+384],1
00524859   . 8D55 C8        LEA EDX,DWORD PTR SS:[EBP-38]
0052485C   . 8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]
0052485F   . 8B80 60030000  MOV EAX,DWORD PTR DS:[EAX+360]
00524865   . E8 CED5F2FF    CALL Magic_Ph.00451E38
0052486A   . 8B55 C8        MOV EDX,DWORD PTR SS:[EBP-38]


Функция, которая вызывается по адресу 00524844 проверяет правильность

серийного номера вот в нее то мы и зайдем. Выделяем строку и жмем Enter.

оказываемся тут:

Код: Выделить всё

00405510  /$  53            PUSH EBX
00405511  |.  56            PUSH ESI
00405512  |.  57            PUSH EDI
00405513  |.  89C6          MOV ESI,EAX
00405515  |.  89D7          MOV EDI,EDX
00405517  |.  39D0          CMP EAX,EDX
00405519  |.  0F84 8F000000 JE 004055AE
0040551F  |.  85F6          TEST ESI,ESI
00405521  |.  74 68         JE SHORT 0040558B
00405523  |.  85FF          TEST EDI,EDI
00405525  |.  74 6B         JE SHORT 00405592
00405527  |.  8B46 FC       MOV EAX,DWORD PTR DS:[ESI-4]
0040552A  |.  8B57 FC       MOV EDX,DWORD PTR DS:[EDI-4]
0040552D  |.  29D0          SUB EAX,EDX
0040552F  |.  77 02         JA SHORT 00405533
00405531  |.  01C2          ADD EDX,EAX
00405533  |>  52            PUSH EDX
00405534  |.  C1EA 02       SHR EDX,2
00405537  |.  74 26         JE SHORT 0040555F


Устанавливаем Breakpoint на начало функции(F2 на адрес 00405510) и

перезапускаем программу(Ctrl+F2, затем F9). Программа еще полностью не

запустилась, но мы остановились на своем breakpoint'e. Понажимаем

несколько раз F9, убедившись, что проверка на зарегистрированность и

запуск прораммы проходят через эту функцию. Тогда попробуем по трассировать

вручную, клавишей F8. После нескольких попыток можно понять, что пока

программа загружается мы прыгаем тут(00405521):

Код: Выделить всё

00405521  |. /74 68         JE SHORT 0040558B
00405523  |. |85FF          TEST EDI,EDI
00405525  |. |74 6B         JE SHORT 00405592
00405527  |. |8B46 FC       MOV EAX,DWORD PTR DS:[ESI-4]
0040552A  |. |8B57 FC       MOV EDX,DWORD PTR DS:[EDI-4]
0040552D  |. |29D0          SUB EAX,EDX


Значит снимем breakpoint с начала функции(F2 на адресе 00405510).

Теперь нажимаем F9 и программа запускается без проблем. Снова вернемся в

окно отладчика и снова поставим breakpoint под прыжком (00405523).

Затем опять попробуем зарегистрироваться под любым именем и серийным номером.

После нажатия регистрации, мы останавливаемся тут:

Код: Выделить всё

00405523  |.  85FF          TEST EDI,EDI
00405525  |.  74 6B         JE SHORT 00405592


Смотрим на значения регистров и видим, что производятся некие операции с именем:
Изображение
Нажмем один раз F9, снова мы остановились, только теперь в регистрах уже не имя,

а тот серийный номер, который мы вводили. Снова жмем F9 и угадайте, что в

регистрах EDI и EDX?
Регистрационный номер для меня получился такой:
Name: Spirit [iNC0DE]
Serial: 7002-9552-3810-0102



5. Отмазки автора и прочее
Ну вот и закончился еще один урок. На нем мы научились распаковывать пакер ASPack

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

Возможно кому-то этот метод не понравится, но это его проблемы. В этом уроке

также я провел распаковку без каких либо объяснений. Если вы хотите подруобней

почитать про распаковку и структуру программ, то советую прочитать статью "Об

упаковщиках в последний раз", часть первая и вторая.

Все маты и ругать, просба отправлять на bill@microsoft.com, а все пожелания и

прочий позитив на spirit@globus-k.kz.

GreetZ y 0ut t0^ HandMill, kaiZer, Sleeky, OKOB, tihiy_grom, g-l-u-k, Bad_Guy,

RSI, mak, pavka, all iNC0DE Crew, CrackL@b & UnPaCk.Cn community...

Copyright (c) by Spirit [iNC0DE] in 2k8



Аватара пользователя

ebragim
Заслуженный
Заслуженный
Сообщения: 29
Зарегистрирован: Декабрь 2008
Репутация: 3
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 1 раз
Контактная информация:

Re: Cracking Tut0r!al #1 Итак приступим.

#2

Сообщение ebragim » 30 янв 2009, 23:37

Spirit писал(а):Если вы хотите подруобней почитать про распаковку и структуру программ, то советую прочитать статью "Об упаковщиках в последний раз", часть первая и вторая.


А где собсна взять эти статьи?

Аватара пользователя

borsov
Заслуженный
Заслуженный
Сообщения: 1051
Зарегистрирован: Декабрь 2008
Репутация: 65
Благодарил (а): 109 раз
Поблагодарили: 254 раза

Re: Cracking Tut0r!al #1 Итак приступим.

#3

Сообщение borsov » 31 янв 2009, 09:11

ebragim писал(а):А где собсна взять эти статьи?

Скрытое содержимое
Вы должны быть зарегистрированным пользователем, чтобы прочитать это содержимое.

Нет аватарки

Автор темы
wessa

Re: Cracking Tut0r!al #1 Итак приступим.

#4

Сообщение wessa » 22 фев 2009, 23:38

Можно указать те программы которыми пользовался при взломе?


Вернуться в «Андеграунд»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость