Автор (ы) | Ильфак Гильфанов |
---|---|
Стабильный выпуск | 7.5 SP2 / июль 28, 2020; 2 месяца назад (2020-07-28) |
Написано на | C ++ |
Операционная система | Microsoft Windows, Mac OS X и Linux |
Доступен на | английском, русском |
Типе | Дизассемблер |
Лицензия | Собственный |
Веб-сайт | www.hex-ray. com / products / ida / index.shtml |
Интерактивный дизассемблер (IDA ) - это дизассемблер для компьютера программного обеспечения, которое генерирует язык ассемблера исходный код из машинно-исполняемого кода. Он поддерживает множество исполняемых форматов для разных процессоров и операционных систем. Его также можно использовать как отладчик для Windows PE, Mac OS X Mach-O и Linux <124.>ELF исполняемые файлы. Дополнительный модуль декомпилятора для программ, скомпилированных с помощью C /C++ компилятора, доступен за дополнительную плату. Последняя полная версия IDA Pro является коммерческой, а более ранняя и менее функциональная версия доступна для загрузки бесплатно (версия 7.0 по состоянию на февраль 2018 г.).
IDA выполняет автоматический анализ кода, используя перекрестные ссылки между разделы кода, знание параметров вызовов API и прочая информация. Однако характер разборки исключает полную точность, и обязательно требуется значительное вмешательство человека; IDA имеет интерактивные функции, помогающие улучшить разборку. Типичный пользователь IDA начинает с автоматически сгенерированного листинга дизассемблера, а затем преобразует разделы из кода в данные и наоборот, переименовывает, аннотирует или иным образом добавляет информацию в листинг, пока не станет ясно, что он делает.
Созданная как условно-бесплатная приложение Ильфаком Гильфановым, IDA позже была продана как коммерческий продукт DataRescue, бельгийской компанией, которая улучшила он и продавался под названием IDA Pro. В 2005 году Гильфанов основал Hex-Rays, чтобы продолжить разработку расширения Hex-Rays Decompiler IDA. В январе 2008 года Hex-Rays взял на себя разработку и поддержку DataRescue's IDA Pro.
«Сценарии IDC» позволяют расширить операцию дизассемблирования. Предлагаются некоторые полезные сценарии, которые могут служить основой для сценариев, написанных пользователем. Чаще всего скрипты используются для дополнительной модификации сгенерированного кода. Например, внешние таблицы символов могут быть загружены, используя имена функций исходного исходного кода.
Пользователи создали плагины, которые позволяют использовать другие распространенные языки сценариев вместо или в дополнение к IDC. IdaRUB поддерживает Ruby, а IDAPython добавляет поддержку Python. Начиная с версии 5.4, IDAPython (зависит от Python 2.5) поставляется с предустановленной IDA Pro.
IDA Pro поддерживает ряд отладчиков, в том числе: