reverseenengineering:soft_ida:manual_jun

IDA Pro: Инструкция для начинающих

IDA (Interactive DisAssembler) — профессиональный инструмент для дизассемблирования и реверс-инжиниринга программ. Разработан Hex-Rays. Поддерживает большое количество архитектур, обладает удобной навигацией по коду, продвинутым графическим отображением функций, мощной системой меток, аннотаций и скриптов.

  • ✅ Поддержка PE, ELF, Mach-O, .bin, .com, .img и др.
  • ✅ Статический анализ
  • ✅ Граф вызовов функций (Flow Graph)
  • ✅ Встроенный декомпилятор (в платной версии — Hex-Rays)
  • ✅ Расширяемость через IDC и Python (IDAPython)
  • Есть бесплатная версия: IDA Free (x86, x64)
  • Запустите установщик и следуйте инструкциям
  • Запустите IDA и создайте проект
Компонент Описание
IDA View Основной дизассемблер
Hex View Просмотр байтов
Graph View Визуализация логики функций
Function window Список функций
Strings window Список строк
Names window Все метки
Output window Вывод логов и скриптов

1. Откройте бинарный файл

  1. File → Open → выберите `.exe`, `.elf`, `.bin`, и др.
  2. IDA автоматически определит архитектуру

2. Проанализируйте файл

  1. Запустите Auto Analysis (предлагается при открытии)
  2. IDA распознает функции, данные, переменные

3. Навигация

  1. В Graph View (клавиша `Space`) смотрите контрольный поток
  2. Используйте `Names`, `Strings`, `Functions` для ориентира

4. Переходы

  1. `G` — переход к адресу
  2. `X` — показать все переходы к функции
  3. `Enter` — вход в функцию
Клавиша Действие
`N` Переименовать метку
`U` Пометить как неиспользуемое
`P` Преобразовать в функцию
`C` Переключить в код
`D` Переключить в данные
`A` Комментарий
`;` Комментарий (рядом с кодом)
`Shift+F12` Поиск строк
`Alt+T` Переименовать тип

1. Открыть `sample.exe` через File → Open 2. Автоматический анализ выполнится сам 3. Перейдите в `Strings` (`Shift+F12`), найдите текстовую строку «Hello» 4. Дважды кликните — попадёте в код, вызывающий эту строку 5. Найдите функцию (`P`), переименуйте её (`N`) 6. Перейдите в `Graph View` (`Space`) для анализа структуры

  • Доступен только в коммерческой версии
  • Открыть: меню «View → Open subviews → Pseudocode» или `F5`
  • Псевдокод на C-подобном языке
  • Позволяет:
    1. Назначать имена переменным
    2. Добавлять комментарии
    3. Выводить чистую логику без ассемблера
  • IDAPython — встроенная поддержка Python
    1. File → Script file… → выберите `.py`
    2. Можно писать автопоиск функций, сигнатуры, патчи
  • IDC — собственный скриптовый язык IDA
  • Плагины:
    1. `BinDiff` — сравнение двух бинарей
    2. `RetDec` — облачный декомпилятор (можно подключить)
    3. `FindCrypt` — поиск криптографических шаблонов
  • Используйте `Bookmarks` (Ctrl+M) — удобно отмечать важные места
  • Назначайте понятные имена функциям и переменным
  • Комментируйте! (`;` и `A`)
  • Используйте `Graph View` для анализа логики
  • Экспортируйте функции в .c или .asm

IDA — один из самых мощных и признанных инструментов реверс-инжиниринга. Он требует времени на освоение, но даёт высочайший уровень контроля, анализа и расширяемости.

  • reverseenengineering/soft_ida/manual_jun.txt
  • Последнее изменение: 2025/07/18 12:48
  • Lex