Шаг 100.
Дизассемблер IDA PRO

    На этом шаге мы рассмотрим основные возможности дизассемблера IDA PRO.

    Это один из самых мощных дизассемблеров. Работая над текстом дизассемблируемой программы, вы можете называть своими именами метки и процедуры, давать свои комментарии так, что дизассемблированный текст становится в конце концов ясным и понятным. Имена и комментарии сохраняются в отдельном файле и при последующем запуске, естественно, восстанавливаются. Внешний вид дизассемблера IDA PRO показан на рисунке 1.


Рис.1. Пример дизассемблированной программы

    Рассмотрим некоторые возможности этого дизассемблера.

    Прокомментируем приведенную программу. Как легко догадаться, организация цикла и условные конструкции имеют в точности тот же синтаксис, что и в языке С. Главное здесь - понять смысл используемых библиотечных функций. Легко видеть, что функция Message просто выводит строку в окно сообщений, которое находится под основным окном. Функция ChooseFunction вызывает окно, которое вызывается также из меню Jump to Function. Функция GetFunctionFlags возвращает информацию об указанной дизассемблированной функции. Наконец функция NextFunction осуществляет переход на следующую дизассемблированную функцию, возвращая также ее адрес. Аргументом функции NextFunction является адрес дизассемблированной функции, от которой осуществляется переход на следующую дизассемблированную функцию.

    Программа IDA PRO осуществляст дизассемблирование модулей самых различных форматов: OBJ, EXE, DLL, VXD, ZIP, NLM и др.

    Функциональность IDA PRO может быть значительно усилена посредством подключаемых модулей - plugin. Подключаемые модули пишутся на языке C++ и имеют структуру РЕ-модулей. Подключение модулей осуществляется через горячие клавиши или через пункты меню Edit | Plugins. Подключаемые модули находятся в специальном каталоге Plugins, где находится и файл конфигурации, где указаны эти модули.

    Еще одна приятная особенность дизассемблера - он создает ассемблерный файл, с которым затем можно работать уже в текстовом режиме.

    Со следующего шага мы начнем знакомиться с отладчиком Turbo Debugger.




Предыдущий шаг Содержание Следующий шаг