Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Взлом ПО.docx
Скачиваний:
115
Добавлен:
23.11.2018
Размер:
3.85 Mб
Скачать

Наиболее полезные клавиши в OllyDbg

F7: Выполняет одну строку кода (если находимся на CALL, то переходим внутрь вызванного участка кода).

F8: Выполняет одну строку кода (если находимся на CALL, то просто выполняет вызов без перехода внутрь и переходит на следующую за CALL строку). Выполняя одну команду за другой, мы можем в трех остальных окнах следить за тем, как меняется содержимое регистров, секции данных и секции стека.

F2: устанавливает обычную точку останова на отмеченной строке. Чтобы убрать эту точку останова, надо ещё раз нажать F2.

Рис. Установка точек останова в OllyDbg

F9: Запускает программу, которая будет выполняться до тех пор, пока не встретит точку останова, не произойдет исключение или же не прекратит работу по каким-либо причинам. Когда программа запущена, в нижнем правом углу OllyDbg отображается слово RUNNING.

Чтобы временно прекратить выполнение программы, нужно нажать F12 или DEBUG->PAUSE.

Рис. Статус выполнения программы в OllyDbg

Видим, что OllyDbg отображает слово PAUSED (пауза). Продолжить выполнение программы можно, нажав F9 или DEBUG->RUN.

Чтобы закрыть отлаживаемую программу выберите DEBUG->CLOSE.

Подключение плагинов в OllyDbg

Первая версия OllyDbg позволяет подключать плагины, которые могут оказаться полезными для решения той или иной задачи. Если скачивать первую версию программы с официального сайта по ссылке: http://www.ollydbg.de/odbg110.zip то в паке обнаружим файлы dll, т.е. плагины к OllyDbg. В августе 2011 года поддержка плагинов появилась во второй версии.

Рис. Список файлов OllyDbg и плагины

Укажем пути к плагинам. Переходим OPTIONS->APPEARANCE, в открывшемся окне открываем вкладку DIRECTORIES.

Рис. Настройка путей к плагинам

Иногда плагины помещают в отдельную папку PLAGIN, тогда путь надо указывать не к корневому каталогу, где лежит файл программы, а на папку PLAGIN.

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

Рис. Меню запуска плагинов в OllyDbg

Чтобы деинсталлировать плагин достаточно стереть соответствующую dll из папки и перезапустить OllyDbg.

Список плагинов для первой версии OllyDbg (с возможностью скачивания): http://www.openrce.org/downloads/browse/OllyDbg_Plugins

Литература для дополнительного изучения

  1. Введение в крэкинг с нуля, используя OllyDbg. Рикардо Нарваха, пер. Aquila: http://wasm.ru/series.php?sid=17

  2. Ассемблер и дизассемблирование. Владислав Пирогов.

  3. Статьи с сайта Cracklab.ru: http://cracklab.ru/art/?action=cat&id=999

  4. Отладка без исходных текстов. К.Касперски. Скачать книгу: http://www.insidepro.com/kk/170/170r.rar

Приложение 3. IDA Pro

Автор: Ильфак Гильфанов

Блог автора: http://www.hexblog.com/

Киты, на которых держится IDA Pro:

  • средство анализа исполняемого кода, встроенный дизассемблер;

  • пользователь становится активным участником дизассемблирования;

  • встроенный язык программирования (похожий на С);

  • возможность написания собственных расширений функциональности на языке высокого уровня.

Откуда скачать программу

C официального сайта можно скачать IDA Pro Free (для некоммерческого использования) с рядом ограничений (версия, достаточная для первоначального знакомства с функционалом дизассемблера): http://www.hex-rays.com/idapro/idadownfreeware.htm

Интерфейс работы с программой

Рис. Файлы IDA Pro

Рис. Окно приветствия IDA Pro

Рис. Окно выбора типа файлов в IDA Pro

Откроем файл CRACKME1.EXE. Появится окно, в котором можем выбрать тип процессора, для которого написан наш файл, формат отображения файла и т.д. В большинстве случаев IDA Pro распознает, какой тип файла предполагается загрузить. Оставляем как есть, нажимаем OK.

Рис. Окно загрузки файла в IDA Pro

Запускается автоматический анализ файла.

Рис. Автоматический анализ файлов

Рис. Главное окно IDA Pro

Настроим отображение дизассемблированного текста вместо графа при запуске по умолчанию.

Рис. Меню настройки IDA Pro

В окне с отображением графа с меню с помощью правой кнопки мыши перейдем в тестовый режим.

Рис. Контекстное меню

Рис. Дизассемблерный код

Нажав на вкладке Functions можно увидеть окно, содержащее описание всех найденных в программе функций.

Рис. Список функций

Видим: имя функции, сегмент, к которому принадлежит функция, начальный адрес, длину, тип. Возможные типы: R – с возвратом в основную программу, F – дальний вызов, L – библиотечная функция, S – статическая функция, B – функция с передачей параметров через стек.

Чтобы найти строки, которые программа выводит на экран необходимо перейти на вкладку Names.

Рис. Список имен

При анализе файла IDA Pro пытается автоматически определить тип использованного компилятора и загрузить соответствующую сигнатуру (информацию, уникальную для каждого компилятора) для него.

Рис. Меню вызова сигнатур

Рис. Список сигнатур

В каталоге, откуда произошла загрузка программы CRACKME1.EXE, можно обнаружить два файла с расширениями id0 и id1. Это вспомогательные файлы виртуальной памяти, они исчезают после закрытия IDA Pro.

Рис. Файлы IDA Pro

В файл с расширением id1 загружается образ программы. Этот образ идентичен образу, загруженному в 32-битную плоскую память ОС Windows, таким образом достигается идентичность с программой, исполняемой ОС. Механизмы работы с виртуальной памятью IDA Pro идентичны аналогичным механизмам в ОС Windows. Для хранения вспомогательной информации (имен меток, имен функций и комментариев) IDA Pro использует файл с расширением id0.