Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
idacode — Интеграция для IDA и VS Code, которая соединяет их для упрощения выполнения и отладки скриптов IDAPython. | Kitploit
Инструменты/GitHubGitHub/ioncodes/idacode
Обратная инженерияСкриптинг и автоматизацияОтладчикиАнализ Бинарных Файлов
GitHubioncodes/idacode

idacode

Интеграция для IDA и VS Code, которая соединяет их для упрощения выполнения и отладки скриптов IDAPython.

Репозиторий
9878511 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

IDACode

IDACode упрощает выполнение и отладку Python-скриптов в среде IDA, не покидая Visual Studio Code. Расширение для VS Code можно найти в маркетплейсе.
IDACode находится на очень ранней стадии, возможны ошибки. Если вы столкнулись с проблемами, пожалуйста, создайте новый issue.

Возможности

  • Скорость: Быстрое создание и выполнение скриптов.
  • Отладка: Подключение отладчика Python в любой момент.
  • Совместимость: IDACode не требует специальной модификации ваших скриптов. Все скрипты могут выполняться из IDA без изменений.
  • Модульность: IDACode не использует обширные безопасные обёртки для синхронизации потоков, что позволяет импортировать любой модуль из любого пути в любое время. Вместо этого IDACode синхронизирует поток выполнения скрипта с основным потоком IDA, чтобы избежать проблем с производительностью и неожиданных сбоев.
  • Синхронизация: Так как IDACode использует debugpy для связи, он автоматически синхронизирует окно вывода с панелью вывода VS Code.

IDACode протестирован на Windows и macOS с IDA 8.4/9.0 и Python 3.12 (более старые версии Python имеют проблемы с отладкой).

Установка

Чтобы установить зависимости для плагина IDA, выполните:

root@kitploit:~
# убедитесь, что используете правильную версию Python
# IDACode поддерживает последнюю версию debugpy, начиная с версии 3.0.0, обязательно обновитесь!
python -m pip install --user debugpy tornado

Клонируйте этот репозиторий или скачайте пакет релиза здесь. Файл ida.zip соответствует содержимому папки ida в этом репозитории. Скопируйте все файлы в директорию плагинов IDA.

Следующий шаг — настройка параметров под ваше окружение (опционально). Отредактируйте idacode_utils/settings.py соответствующим образом:

  • HOST: Адрес хоста. Обычно это 127.0.0.1, если вы не хотите, чтобы он был доступен удалённо. Имейте в виду, что этот плагин не использует аутентификацию.
  • PORT: Порт, который IDA будет прослушивать. Используется для WebSocket-связи между IDA и VS Code.
  • DEBUG_PORT: Порт для входящих сессий отладки.
  • LOGGING: Определяет, должен ли отладчик вести журнал в файлы. Особенно полезно, если у вас возникают проблемы с IDACode. Пожалуйста, создайте новый issue, если найдёте что-либо. Файлы всегда находятся в вашей временной директории (например, Windows: %TEMP%). Файлы называются debugpy.*.log.

Теперь вы можете запустить плагин, выбрав IDACode в меню плагинов.

Расширение для VS Code доступно в маркетплейсе. Для настройки расширения обратитесь к README расширения.

Использование

IDA

Нажмите IDACode в меню плагинов. Вы должны увидеть следующее сообщение:

root@kitploit:~
IDACode listening on 127.0.0.1:7065

VS Code

Начиная с версии 0.2.0 IDACode поддерживает «Выполнять при сохранении» (включено по умолчанию). VS Code автоматически выполнит ваш скрипт в IDA, как только вы сохраните текущий документ (например, с помощью CTRL+S). Это поведение можно отключить в настройках. Откройте консоль разработки расширений VS Code с помощью Ctrl+Shift+P и введите «idacode», чтобы увидеть список команд ниже. Не используйте функционал «Запуск» или «Отладка» VS Code, иначе в IDA появится сообщение «HTTP misformed».

Доступно 4 команды:

команды

Как только вы откроете папку, в которую хотите поместить свои скрипты (вы обязаны указать папку, когда VS Code попросит вас об этом!), вы готовы подключиться к IDA. Это можно сделать, выполнив Connect to IDA или Connect and attach a debugger to IDA. Имейте в виду, что сеанс отладки постоянен до перезапуска IDA. После запуска отладчика нельзя сменить рабочую папку.
Убедитесь, что рабочая папка — это папка, в которой находятся ваши основные скрипты.
После подключения вы сможете выбрать Execute script in IDA.

Отладка

IDACode использует удалённый отладчик VS Code для подключения к IDA. Поддерживаются все возможности VS Code. Однако вам нужно указать точку входа скрипта, используя встроенную функцию Python: breakpoint. Эта инструкция сообщает отладчику приостановить выполнение; если отладчик отсутствует, она игнорируется. IDACode импортирует вспомогательный пакет dbg, который реализует перегрузку breakpoint — функцию bp. Эта функция поддерживает журналирование и условия:

root@kitploit:~
name = idc.get_segm_name(segment)
dbg.bp(name==".text", f"found {name} at {segment}")

Обратите также внимание, что вызов breakpoint() никогда не должен находиться в конце файла; он всегда должен быть перед любой другой строкой кода, так как он прерывается на следующей инструкции в вашем коде. Также учтите, что если вы решите использовать пакет dbg, вы должны либо удалить все ссылки, либо использовать переменную __idacode__ в качестве условия перед выполнением скрипта в обычном режиме IDA.
Также важно, что подключение отладчика создаёт новый экземпляр отладчика. В большинстве случаев это не то, что вам нужно. Если вы отключаетесь от отладчика, используйте удалённый отладчик VS Code для повторного подключения.

Известные проблемы

  • Импортированный модуль не перезагружается после изменений. Временное решение см. здесь.

Демонстрация

демонстрация

Участники

  • mrexodia
  • MeitarR
  • Plutoberth
  • OevreFlataeker
  • RolfRolles
Скачать инструмент