IDA
IDA Pro Disassembler (англ. Interactive DisAssembler) — интерактивный дизассемблер, который широко используется для реверс-инжиниринга. Он отличается исключительной гибкостью, наличием встроенного командного языка, поддерживает множество форматов исполняемых файлов для большого числа процессоров и операционных систем. Первоначальный автор и основной разработчик — Ильфак Гильфанов[2].
IDA Pro Disassembler | |
---|---|
| |
Тип | Дизассемблер |
Разработчик | hex-rays |
Написана на | C++ |
Операционная система | Windows, Linux, Mac OS X |
Последняя версия | 7.4sp1[1] (12 ноября 2019 ) |
Читаемые форматы файлов | IDA Type Information List[d] и IDA Signatures[d] |
Создаваемые форматы файлов | IDA Type Information List[d] и IDA Signatures[d] |
Лицензия | proprietary |
Сайт | hex-rays.com/products/id… |
Позволяет строить блок-схемы, изменять названия меток, просматривать локальные процедуры в стеке и многое другое.
В последних версиях имеет встроенный отладчик x86 и ARM.
IDA, до определенной степени, умеет автоматически выполнять анализ кода, используя перекрестные ссылки, знание параметров вызовов функций стандартных библиотек, и другую информацию. Однако вся сила его проявляется в интерактивном взаимодействии с пользователем. В начале исследования дизассемблер выполняет автоматический анализ программы, а затем пользователь с помощью интерактивных средств IDA начинает давать осмысленные имена, комментировать, создавать сложные структуры данных и другим образом добавлять информацию в листинг, генерируемый дизассемблером пока не станет ясно, что именно и как делает исследуемая программа.
Дизассемблер имеет консольную и графическую версии. Поддерживает большое количество форматов исполняемых файлов. Одной из отличительных особенностей IDA Pro является возможность дизассемблирования байт-кода виртуальных машин Java и .NET. Также поддерживает макросы, плагины и скрипты, а последние версии содержат интегрированный отладчик.
Версии поставки
Существует несколько версий IDA Pro — бесплатная (freeware), стандартная (standard) и расширенная (advanced). Бесплатная версия обладает ограниченными возможностями по сравнению со стандартной и расширенной версиями — поддерживается только архитектура x86 и отсутствует поддержка подключаемых модулей.
Поддерживаемые форматы исполняемых файлов
- ELF (UNIX-подобные)
- MZ (DOS)
- PE (Windows)
- Mach-O (MacOS X)
- Netware .exe
- OS/2 .exe
- Geos .exe
- «Сырой» двоичный код (например, дамп памяти)
См. также
Примечания
- IDA: What's new in 7.4sp1
- Алексей Доля (22.05.2003). “IDA Pro - самый мощный дизассемблер в мире”. Проверьте дату в
|date=
(справка на английском)
Литература
- Крис Касперски. Искусство дизассемблирования. — 1-е изд. — М.: «BHV», 2008. — С. 896. — ISBN 978-5-9775-0082-1.