Показать страницуИстория страницыСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== IDA Pro: Инструкция для начинающих ====== ===== Что такое IDA ===== **IDA (Interactive DisAssembler)** — профессиональный инструмент для дизассемблирования и реверс-инжиниринга программ. Разработан Hex-Rays. Поддерживает большое количество архитектур, обладает удобной навигацией по коду, продвинутым графическим отображением функций, мощной системой меток, аннотаций и скриптов. * ✅ Поддержка PE, ELF, Mach-O, .bin, .com, .img и др. * ✅ Статический анализ * ✅ Граф вызовов функций (Flow Graph) * ✅ Встроенный декомпилятор (в платной версии — Hex-Rays) * ✅ Расширяемость через IDC и Python (IDAPython) ===== Установка ===== * Скачать: https://hex-rays.com/ida-pro/ * Есть бесплатная версия: IDA Free (x86, x64) * Запустите установщик и следуйте инструкциям * Запустите IDA и создайте проект ===== Интерфейс IDA ===== ^ Компонент ^ Описание ^ | IDA View | Основной дизассемблер | | Hex View | Просмотр байтов | | Graph View | Визуализация логики функций | | Function window | Список функций | | Strings window | Список строк | | Names window | Все метки | | Output window | Вывод логов и скриптов | ===== Быстрый старт ===== 1. **Откройте бинарный файл** - File → Open → выберите `.exe`, `.elf`, `.bin`, и др. - IDA автоматически определит архитектуру 2. **Проанализируйте файл** - Запустите Auto Analysis (предлагается при открытии) - IDA распознает функции, данные, переменные 3. **Навигация** - В Graph View (клавиша `Space`) смотрите контрольный поток - Используйте `Names`, `Strings`, `Functions` для ориентира 4. **Переходы** - `G` — переход к адресу - `X` — показать все переходы к функции - `Enter` — вход в функцию ===== Основные клавиши ===== ^ Клавиша ^ Действие ^ | `N` | Переименовать метку | | `U` | Пометить как неиспользуемое | | `P` | Преобразовать в функцию | | `C` | Переключить в код | | `D` | Переключить в данные | | `A` | Комментарий | | `;` | Комментарий (рядом с кодом) | | `Shift+F12` | Поиск строк | | `Alt+T` | Переименовать тип | ===== Пример анализа "sample.exe" ===== 1. Открыть `sample.exe` через File → Open 2. Автоматический анализ выполнится сам 3. Перейдите в `Strings` (`Shift+F12`), найдите текстовую строку "Hello" 4. Дважды кликните — попадёте в код, вызывающий эту строку 5. Найдите функцию (`P`), переименуйте её (`N`) 6. Перейдите в `Graph View` (`Space`) для анализа структуры ===== Работа с декомпилятором (Hex-Rays) ===== * Доступен только в коммерческой версии * Открыть: меню "View → Open subviews → Pseudocode" или `F5` * Псевдокод на C-подобном языке * Позволяет: - Назначать имена переменным - Добавлять комментарии - Выводить чистую логику без ассемблера ===== Скрипты и расширения ===== * **IDAPython** — встроенная поддержка Python - File → Script file… → выберите `.py` - Можно писать автопоиск функций, сигнатуры, патчи * **IDC** — собственный скриптовый язык IDA * **Плагины**: - `BinDiff` — сравнение двух бинарей - `RetDec` — облачный декомпилятор (можно подключить) - `FindCrypt` — поиск криптографических шаблонов ===== Полезные советы ===== * Используйте `Bookmarks` (Ctrl+M) — удобно отмечать важные места * Назначайте понятные имена функциям и переменным * Комментируйте! (`;` и `A`) * Используйте `Graph View` для анализа логики * Экспортируйте функции в .c или .asm ===== Ссылки ===== * Официальный сайт: https://hex-rays.com/ida-pro/ * IDA Free: https://hex-rays.com/ida-free/ * Скрипты: https://github.com/Vector35/ida-scripts * Туториалы: https://reverseengineering.stackexchange.com/ * Плагины: https://github.com/onethawt/idaplugin-list ===== Заключение ===== IDA — один из самых мощных и признанных инструментов реверс-инжиниринга. Он требует времени на освоение, но даёт высочайший уровень контроля, анализа и расширяемости. reverseenengineering/soft_ida/manual_jun.txt Последнее изменение: 2025/07/18 12:48 — Lex Войти