Учебник Кракера часть первая

Введение:
Я уже читал много учебников по кракам и откровенно говоря, Я сам учился кракингу читая такие пособия (и некоторые книги , но это не имеет значения). Большинство таких учебников имеют несколько недостатков: они или слишком большие и содержат много мусора, или слишком маленькие и даже не объясняют самих основ. Я решил написать свой учебник который бы не содержал таких недостатков. Во всяком случае, Я разделил туториал на три части:

Часть 1: Введение, инструменты и основы кракинга.
Часть 2: Практические тренировки, использование W32Dasm и HIEW.


Добро пожаловать в первую часть. ;-)

Предупреждение:
Я создал этот учебник только в информационных целях! Большинство информации содержащейся в этом документе может быть использовано в противозаконных целях! Не пытайтесь сделать что-либо описанное в этом документе! Если вы попытались сделать что-то в этом роде, вы один полностью несёте ответственность за то, что вы сделали! Если вы попали в неприятную ситуацию, то это случилось только по вашей вине! Если вы намерены использовать эту информацию что-бы впечатлить ваших друзей, оставте её более взрослым людям! Если вы не согласны с этим, то дальше можете не читать! Если вы взломали программу, и пытаетесь продать или одолжить крак бесплатно, то это преступление!

Что такое кракинг?
Для меня, кракинг это:
"Позволить программе вести себя так, как вы это хотите, а не так как хочет кто нибудь другой (програмист)"

Так что кракинг это изменение программ, для того что бы они работали так как вы хотите. Вы можете достать десплатную демо версию программы, взломать её и пользоваться... Но!!!! Я повторяю, если вы взломали программу и начинаете продавать взломанную версию или просто одолжили её бесплатно, это уже преступление!

После того как вы прочитаете все три части (это первая часть), вы почувствуете огромную силу в ваших руках (в смысле мозгах). Ну, что начнёмс?

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

Первая прога это "Win32 Disassembler", которая так же известна как "W32Dasm".
Win32 Дизассемблер позволяет вам:

Дизассемблить файлы - переводить программы в код ассемблера, или в машинный код.
Файлы которые могут быть дизассембленны в "W32Dasm":
exe, 386, com, cpl, drv, dll, fon, mpd, ocx, vbx, vbx and sys.
Загрузить процессы программы и отследить их.
Браузить по дизассембленному файлу в любую часть его кода.
Искать текст.
Выполнять, вставлять или удалять "jumps" & "calls".
Импортировать и экспортировать функции.
Показывать в HEX виде код файла.
Показывать стринговые, диалоговые и справочные списки.
Сохранять дизассемблерный исходник в текстовом формате.

Вторая прога которая вам понадобится это "Hiew", которая так же известна как "Hacker's View". Hacker's View прога которая позволит вам:

Дизассемблить файлы.
Изменять и сохранять дизассембленные файлы.

Посмотреть файл в виде ASCII, Hex или ассемблерном виде.
Так же вы можете загрузить замечательную программу для взлома - "Soft-ICe". В любом случае, она нам не потребуется в этом разделе учебника.

Превые шаги
Процесс взламывания можно разделить на 7 шагов:

  1. Запустить взламываемую программу и изучить её стандартное "поведение". Попытаться вычислить ключевые фразы и слова, а так же попытаться ввести пароль и посмотреть как программа среагирует.
  2. Открыть прогамму в W32Dasm и отдизассемблить её.
  3. В дизассемблерном коде найдите фразу которую программа вам выдала при ошибке. В большинстве случаев, вам прейдется икать ключевые слова такие как: password, name, date, expired, time limit, wrong, entered и так далее.
  4. Найдите и исследуйте генератор паролей, найдите защитный "маршрут" и изучите API "звонки".
  5. Попробуйте понять "прыгающий" механизм защиты.
  6. Откройте программу в Hiew. Измените начальный "прыжок" на ему противоположный или вообще выкинте его.
  7. Запустите программу и посмотрите как она отреагирует на на ваши изменения. Почувствуйте силу которую вы имеете, силу взлома.
Изучите эти шаги очень хорошо, пока они не начнут сниться, т.к. вы будете пользоваться ими в любой программе которую вы взламываете.

Основные понятия ассемблирования.
A. Регистры:
Регистры это переменные которые хранятся в процессоре. Процессор использует эти переменные для основных математических и логических операций. Наиболее используемые регистры это: eax, ebx, ecx and edx. Иногда вы увидите edi, esi, esp, ebp. Существует три типа регистров: 32Bit регистры, 16Bit регистры и 8Bit регистры. 32Bit регистры начинаются с "e", такие как eax. 16Bit регистры приравнивают к 32Bit регистрам. Единственное их отличие эторазные размеры. 16Bit регистры: ax, bx, cx, dx, di, si, sp, bp. 8Bit регистры: al, ah, bl, bh, cl, ch, dl, dh. "l" - обозначает низшие 8 битов 16Bit регистра. "h" - обозначает высшие 8 битов 16Bit регистра.

B. Флаги:
Флаги это логические переменные (принимают значения 0 или 1). Флаги используются процессором для внутренних логических и математических операций, с целью извлечь результат операции. Наиболее важный флаг это Нулевой Флаг, который может принимать значения ноль (0) или не ноль (1).

C. Code Flow
Когда вы анализируете часть кода, вы должны понять что процессор на самом деле глупый, и всё что он делает это следует основным инструкциям, линия за линией. Он делает то, что говорит ему код и он не может делать того, что не написано в коде. Вот почему вы должны думать как процессор. Вы должны делать всё что делает процессор, вы должны сравнивать регистры и переменные, выполнять "прыжки"(jump) и "звонки"(call), подсчитывать основные математические операции, сохранять и загружать значения регистра и т.д. ... Процессор имеет инструкционный указатель(instruction pointer), который так же называется IP(это не Internet Protocol). Используя IP, процессор направляет(указывает) инструкции тому, что должно запуститься. Процессор так же выполняет инструкции которые изменяют ход кода.
Эти инструкции могут быть представлены "звонками"(call), "прыжками"(jumps) и т.д. , которые зависят от нулевого флага.

В заключении
В этой части учебника мы изучили понятие взлома. Заставлять программу вести себя так как вы того хотите, а не как того хочет программист. Мы так же познакомились с наиболее популярными программами для взлома: W32Dasm, Hiew и SoftICE. И на конец, мы изучили 7 основных шагов взлома.

Теперь, перед тем как вы перейдёте к следующей части, вы должны зазубрить эти 7 шагов и загрузить те программы о которых упоминалось выше. Удачи !!!

Назад

Сайт создан в системе uCoz