Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ipyida — Intégration de la console IPython pour IDA Pro | Kitploit
Outils/GitHubGitHub/eset/ipyida
Rétro-ingénierieScripting et AutomatisationAnalyse de Binaires
GitHubeset/ipyida

ipyida

Intégration de la console IPython pour IDA Pro

Voir le dépôt
85076il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

= IPyIDA

IPyIDA est une solution 100 % Python permettant d'ajouter une console IPython à IDA Pro. Utilisez <Shift-.> pour ouvrir une fenêtre avec une console Qt intégrée. Vous pouvez alors bénéficier de l'autocomplétion d'IPython, de l'aide en ligne, du champ de saisie en police monospace, des graphiques, etc.

Vous pouvez également vous connecter au noyau depuis l'extérieur d'IDA à l'aide de ipython console --existing.

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

== Installation

IPyIDA devrait être compatible avec IDA 6.6 et versions ultérieures sous Windows, OS X et Linux. Il a été testé avec IDA jusqu'à la version 9.2.

=== Installation rapide et simple

Un script est fourni pour installer IPyIDA et ses dépendances automatiquement depuis la console IDA. Copiez simplement la ligne suivante dans la console 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())

Sous macOS, Python3.framework ne fournit pas de fichier CA de confiance. Vous pouvez utiliser le fichier système /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())

Le script effectuera les opérations suivantes :

  1. Installer pip s'il n'est pas déjà installé
  2. Installer le paquet ipyida depuis https://pypi.org/project/ipyida/[PyPi]
  3. Copier ipyida_plugin_stub.py dans le répertoire plugins de l'utilisateur
  4. Charger le plugin IPyIDA

Vous pouvez inspecter le script link:install_from_ida.py[] si vous souhaitez voir exactement ce qu'il fait.

==== Mise à jour

Relancez le script d'installation pour passer à la dernière version et redémarrez IDA.

=== Installation à la manière d'IDA

Si vous préférez gérer vous-même les dépendances et les mises à jour, vous pouvez copier ipyida_plugin_stub.py et le répertoire ipyida dans le répertoire plugins d'IDA.

Cette méthode nécessite de gérer les dépendances par vos propres moyens. IPyIDA requiert les paquets ipykernel et qtconsole, ainsi que le paquet qasync si vous utilisez ipykernel version 5 ou ultérieure.

== Intégration avec Jupyter Notebook

IPyIDA inclut une commande magique, %open_notebook, pour ouvrir un navigateur avec un notebook attaché à IPyIDA. La commande se charge d'installer les dépendances lors de sa première exécution et de démarrer un serveur Notebook s'il n'en existe pas déjà un. Consultez l'aide de la commande (en tapant %open_notebook?) pour plus d'options.

== Personnalisation de la console IPython

Par défaut, la console ne dispose d'aucune variable globale. Si vous souhaitez qu'un module soit importé avant l'ouverture de la console, IPyIDA lira le fichier ipyidarc.py depuis le répertoire utilisateur d'IDA (idaapi.get_user_idadir()). Tout ce que vous importez dans ce fichier sera disponible dans la console IPython.

Ceci est similaire au fichier idapythonrc.py.

=== Mode sombre

Avec un thème sombre dans IDA Pro, il est plus pratique d'avoir également un thème sombre dans la console IPython. Pour activer le thème sombre intégré à qtconsole, ajoutez ce qui suit dans votre 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 ))

== Intégration IDE

L'une des caractéristiques notables d'iPyIDA est la possibilité de l'intégrer à l'IDE PyCharm. Cela permet des fonctionnalités telles que le pas à pas dans le code, la coloration syntaxique, l'intégration de Github CoPilot, etc. Pour utiliser cette fonctionnalité, lancez simplement IDA et ouvrez une base de données, créez un Jupyter Notebook dans PyCharm, ajoutez du code, puis cliquez sur Exécuter. IPyIDA fait toute la magie en arrière-plan.

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

== Mises en garde

=== Console externe qui ne répond plus si la fenêtre d'IDA reste en arrière-plan trop longtemps

Ce problème est spécifique à la fonction App Nap d'OS X à partir d'OS X 10.9. Lors de l'exécution la désactivation d'App Nap pour IDA Pro semble résoudre le problème, mais ce n'est qu'un bricolage pour l'instant et utilisera plus de batterie sur un ordinateur portable ; nous devrions trouver une meilleure solution.

Voici comment désactiver App Nap pour IDA Pro :

[source,bash]

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

== Travaux similaires

@james91b a également intégré avec succès un noyau IPython dans IDA. Étant un utilisateur d'IDA sous un environnement non-Windows, j'avais besoin de quelque chose de multiplateforme et j'ai opté pour une approche 100 % Python pour l'implémenter. Bien qu'une partie des idées d'implémentation provienne de ce projet, IPyIDA a été écrit de zéro. Chapeau à @james91b et à tous les contributeurs d'IDA_IPython. IDA_IPython est disponible sur Github à l'adresse https://github.com/james91b/ida_ipython.

Télécharger l’outil