OllyDbg
OllyDbg — бесплатный 32 битный отладчик пользовательского уровня для операционных систем Windows, предназначенный для анализа и модификации откомпилированных исполняемых файлов и библиотек, работающиx в режиме пользователя (ring-3).
OllyDbg выгодно отличается от классических отладчиков (таких, как SoftICE) простым интерфейсом, интуитивной подсветкой специфических структур кода, простотой в установке и запуске. Для того, чтобы разобраться в принципе работы OllyDbg, достаточно лишь базовых знаний в области языка ассемблера.
Последняя версия программы на старом движке — 1.10, не обновлялась с мая 2004 года. Однако, 12 ноября 2006 года на официальном сайте был опубликован анонс новой, второй версии продукта. Со 2 июня 2010 года доступна первая новая версия OllyDbg 2.0 без приставок «бета», однако, пока новая версия имеет малую ценность из-за отсутствия поддержки плагинов.
OllyDbg самый популярный отладчик в последнее время, именно им чаще всего пользуются как начинающие так и опытные крэкеры в наши дни. Последнее время также написано много статей, описывающих его использование. Особенно удобен тем, что дизассемблирует программу "на лету" и позволяет вести анализ программы когда её исходники вам недоступны. Отладчик отображает значения регистров, может показывать содержимое памяти, распознает процедуры, API-функции, переходы, строковые и цифровые константы, имеется возможность переименовывать переменные и делать комментарии в дизассемблированном коде, сделанные вами патчи кода отладчик умеет записывать прямо в исполняемый файл.
Возможности
- Поддерживаемые процессоры: вся серия 80x86, Pentium и совместимые; расширения MMX, 3DNow! и SSE до версии SSE4 включительно (SSE5 пока не поддерживается).
- Поддерживаемые форматы данных: hex-код, ASCII, юникод, 16- и 32-битные целые числа со знаком и без знака, 32-, 64- и 80-битные числа с плавающей запятой (float).
- Способы отображения дизассемблированного кода: MASM, IDEAL, HDA.
- Мощный анализатор кода, распознающий процедуры, циклы, ветвления, таблицы, константы и текстовые строки.
- Развёрнутая система поиска: поиск всех возможных констант, команд, последовательностей команд, текстовых строк и ссылок в коде на данный адрес.
- Распознание и расшифровка более двух тысяч типичных функций WinAPI и языка C.
- Распознание и расшифровка PE-заголовка.
- Эвристический анализ стэка, распознание адресов возврата в родительскую процедуру, SEH-блоки.
- Простые, условные и протоколирующие точки останова (брейкпоинт).
- Пошаговая отладка с протоколированием хода выполнения (run trace).
- Индивидуальный файл конфигурации (UDD) для каждого отлаживаемого приложения.
- Возможность расширения функционала всемозможными плагинами, написанных сторонними разработчиками.
Рабочее окно отладчика Olly
На рисунке выделено 9 областей, представляющих из себя инструменты информирования и интерактивности, которые предоставляет OllyDbg.
- 1 (красным) - виртуальные адреса
- 2 (зеленым) - машинный код
- 3 (голубым) - дизассемблированный листинг (команды ассемблера)
- 4 (оранжевым) - комментарии отладчика
- 5 (фиолетовым) - регистры общего назначения
- 6 (желтым) - EIP регистр (показывает виртуальный адрес следующей выполняемой команды)
- 7 (коричневым) - флаги и регистр флагов
- 8 (синим) - дамп памяти
- 9 (малиновым) - стэк