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

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

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

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

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

Категории

Все категории
Loading categories
ipyida — Интеграция консоли IPython для IDA Pro | Kitploit
Инструменты/GitHubGitHub/eset/ipyida
Обратная инженерияСкриптинг и автоматизацияАнализ Бинарных Файлов
GitHubeset/ipyida

ipyida

Интеграция консоли IPython для IDA Pro

Репозиторий
85076513 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

= IPyIDA

IPyIDA — это решение на чистом Python для добавления консоли IPython в IDA Pro. Используйте <Shift-.>, чтобы открыть окно со встроенной Qt-консолью. После этого вы сможете воспользоваться автодополнением IPython, встроенной справкой, полем ввода с моноширинным шрифтом, графиками и так далее.

Вы также можете подключиться к ядру за пределами IDA с помощью ipython console --existing.

image::ipyida-screenshot.png[IPyIDA screenshot,width=100%]

== Установка

IPyIDA должен быть совместим с IDA 6.6 и более поздними версиями на Windows, OS X и Linux. Он протестирован вплоть до IDA 9.2.

=== Быстрая и простая установка

Предоставляется скрипт, который автоматически установит IPyIDA и его зависимости из консоли IDA. Просто скопируйте следующую строку в консоль IDA.

.Python 2 [source,python]

import urllib2; exec urllib2.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py').read()

.Python 3 [source,python]

import urllib.request; exec(urllib.request.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py').read())

В macOS Python3.framework не предоставляет доверенный файл CA. Вы можете использовать общесистемный файл /etc/ssl/cert.pem.

[source,python]

import urllib.request; exec(urllib.request.urlopen('https://github.com/eset/ipyida/raw/stable/install_from_ida.py', cafile="/etc/ssl/cert.pem").read())

Скрипт выполнит следующее:

  1. Установит pip, если он ещё не установлен
  2. Установит пакет ipyida с https://pypi.org/project/ipyida/[PyPi]
  3. Скопирует ipyida_plugin_stub.py в каталог plugins пользователя
  4. Загрузит плагин IPyIDA

Вы можете изучить скрипт link:install_from_ida.py[], если хотите точно узнать, что он делает.

==== Обновление

Повторно запустите скрипт установки, чтобы обновиться до последней версии, и перезапустите IDA.

=== Установка в стиле IDA

Если вы предпочитаете управлять зависимостями и обновлениями самостоятельно, вы можете скопировать ipyida_plugin_stub.py и каталог ipyida в каталог plugins IDA.

Этот метод требует, чтобы вы управляли зависимостями самостоятельно. IPyIDA требует пакеты ipykernel и qtconsole, а также пакет qasync, если используется ipykernel версии 5 или новее.

== Интеграция с Jupyter Notebook

IPyIDA включает магическую команду %open_notebook для открытия в браузере блокнота, подключённого к IPyIDA. При первом запуске команда устанавливает зависимости и запускает сервер Notebook, если он ещё не запущен. Дополнительные параметры можно узнать в справке по команде (набрав %open_notebook?).

== Настройка консоли IPython

По умолчанию в консоли нет доступных глобальных переменных. Если вы хотите, чтобы модуль был импортирован до открытия консоли, IPyIDA прочитает файл ipyidarc.py из пользовательского каталога IDA (idaapi.get_user_idadir()). Всё, что вы импортируете в этом файле, будет доступно в консоли IPython.

Это аналогично файлу idapythonrc.py.

=== Тёмная тема

При использовании тёмной темы в IDA Pro удобнее, чтобы в консоли IPython тоже была тёмная тема. Чтобы активировать встроенную в qtconsole тёмную тему, добавьте в ваш ipyidarc.py следующее:

[source, python]

import qtconsole.styles import ipyida.ida_qtconsole ipyida.ida_qtconsole.set_widget_options(dict( style_sheet = qtconsole.styles.default_dark_style_sheet, syntax_style = qtconsole.styles.default_dark_syntax_style ))

== Интеграция с IDE

Одна из примечательных особенностей IPyIDA — возможность интеграции с IDE PyCharm. Это позволяет использовать такие функции, как пошаговое выполнение кода, подсветка синтаксиса, интеграция с Github CoPilot и т. д. Чтобы воспользоваться этой функцией, просто запустите IDA и откройте базу данных, создайте Jupyter Notebook в PyCharm, добавьте код и нажмите «Run». Всю остальную работу IPyIDA выполняет в фоновом режиме.

image::pycharm-screenshot.png[IPyIDA screenshot,width=100%]

== Предостережения

=== Внешняя консоль не отвечает, если окно IDA слишком долго находится в фоне

Эта проблема характерна для функции App Nap в OS X 10.9 и новее. При работе отключение App Nap для IDA Pro, похоже, решает проблему, но пока это хак, который будет расходовать больше заряда батареи на ноутбуке; стоит найти лучшее решение.

Вот как отключить App Nap для IDA Pro:

[source,bash]

defaults write com.hexrays.idaq NSAppSleepDisabled -bool YES defaults write com.hexrays.idaq64 NSAppSleepDisabled -bool YES

== Похожие проекты

@james91b также успешно интегрировал ядро IPython в IDA. Будучи пользователем IDA не на Windows, мне было нужно кроссплатформенное решение, и я реализовал его на чистом Python. Хотя некоторые идеи реализации взяты из того проекта, IPyIDA написан с нуля. Респект @james91b и всем контрибьюторам IDA_IPython. IDA_IPython доступен на Github: https://github.com/james91b/ida_ipython.

Скачать инструмент