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
idacode — Une intégration pour IDA et VS Code qui connecte les deux pour exécuter et déboguer facilement des scripts IDAPython. | Kitploit
Outils/GitHubGitHub/ioncodes/idacode
Rétro-ingénierieScripting et AutomatisationDébogueursAnalyse de Binaires
GitHubioncodes/idacode

idacode

Une intégration pour IDA et VS Code qui connecte les deux pour exécuter et déboguer facilement des scripts IDAPython.

Voir le dépôt
98785il y a 11 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

IDACode

IDACode facilite l'exécution et le débogage de scripts Python dans votre environnement IDA sans quitter Visual Studio Code. L'extension VS Code est disponible sur le marketplace.
IDACode est encore à un stade très précoce et des bogues sont à prévoir. Veuillez ouvrir un nouveau ticket si vous rencontrez des problèmes.

Fonctionnalités

  • Vitesse : Créez et exécutez rapidement des scripts.
  • Débogage : Attachez un débogueur Python à tout moment.
  • Compatibilité : IDACode ne vous oblige pas à modifier vos scripts d'une manière spécifique. Tous les scripts peuvent être exécutés depuis IDA sans modifications.
  • Modularité : IDACode n'utilise pas de manière extensive des wrappers sécurisés pour la synchronisation des threads, ce qui vous permet d'importer n'importe quel module depuis n'importe quel chemin à tout moment. Au lieu de cela, IDACode synchronise le thread d'exécution du script avec le thread principal d'IDA pour éviter les problèmes de performance et les problèmes inattendus.
  • Synchronisation : Comme IDACode utilise debugpy pour la communication, il synchronise naturellement la fenêtre de sortie avec le panneau de sortie de VS Code.

IDACode a été testé sur Windows et macOS avec IDA 8.4/9.0 et Python 3.12 (les versions plus anciennes de Python ont des problèmes de débogage).

Configuration

Pour configurer les dépendances du plugin IDA, exécutez :

root@kitploit:~
# assurez-vous d'utiliser la bonne version de Python
# IDACode supporte la dernière version de debugpy à partir de la version 3.0.0, assurez-vous de mettre à jour !
python -m pip install --user debugpy tornado

Clonez ce dépôt ou téléchargez un paquet de publication depuis ici. ida.zip reflète le contenu du dossier ida de ce dépôt. Copiez tous les fichiers dans le répertoire des plugins d'IDA.

L'étape suivante consiste à configurer vos paramètres pour correspondre à votre environnement (optionnel). Modifiez idacode_utils/settings.py en conséquence :

  • HOST : Il s'agit de l'adresse de l'hôte. C'est toujours 127.0.0.1 sauf si vous voulez qu'il soit accessible depuis un emplacement distant. Gardez à l'esprit que ce plugin n'utilise pas d'authentification.
  • PORT : Il s'agit du port sur lequel vous voulez qu'IDA écoute. Il est utilisé pour la communication WebSocket entre IDA et VS Code.
  • DEBUG_PORT : Il s'agit du port sur lequel vous voulez écouter pour les sessions de débogage entrantes.
  • LOGGING : Détermine si le débogueur doit écrire dans des fichiers. C'est particulièrement utile lorsque vous rencontrez des problèmes avec IDACode. Veuillez soumettre un nouveau ticket si vous trouvez quelque chose. Les fichiers se trouvent toujours dans votre répertoire temporaire (par exemple, Windows : %TEMP%). Les fichiers sont appelés debugpy.*.log.

Vous pouvez maintenant démarrer le plugin en cliquant sur IDACode dans le menu des plugins.

L'extension VS Code est disponible sur le marketplace. Pour configurer l'extension, veuillez vous référer au README de l'extension.

Utilisation

IDA

Cliquez sur IDACode dans le menu des plugins. Vous devriez voir apparaître le texte suivant :

root@kitploit:~
IDACode listening on 127.0.0.1:7065

VS Code

À partir de la version 0.2.0, IDACode supporte "Exécuter à la sauvegarde" qui est activé par défaut. VS Code exécutera automatiquement votre script dans IDA dès que vous sauvegarderez le document courant (par exemple avec CTRL+S). Ce comportement peut être désactivé dans les paramètres. Ouvrez la console de développement de l'extension VS Code avec Ctrl-Shift-P et entrez "idacode" pour voir la liste des commandes ci-dessous. N'utilisez pas la fonctionnalité "Exécuter" ou "Déboguer" de VS Code, car vous obtiendrez un message "HTTP malformé" dans IDA à la place.

Il y a 4 commandes à votre disposition :

commandes

Une fois que vous avez ouvert un dossier dans lequel vous souhaitez placer vos scripts (vous devez spécifier le dossier lorsque VS Code vous le demande !), vous êtes prêt à vous connecter à IDA. Vous pouvez le faire en exécutant soit Connect to IDA soit Connect and attach a debugger to IDA. Veuillez noter qu'une session de débogage est permanente jusqu'à ce que vous redémarriez IDA. Vous ne pouvez pas changer le dossier de l'espace de travail une fois que le débogueur a démarré.
Assurez-vous que le dossier de l'espace de travail est le dossier où se trouvent vos scripts principaux.
Une fois connecté, vous pouvez sélectionner Execute script in IDA.

Débogage

IDACode utilise le débogueur distant de VS Code pour se connecter à IDA. Toutes les fonctionnalités de VS Code sont supportées. Cependant, vous devez spécifier le point d'entrée du script en utilisant la fonctionnalité intégrée de Python : breakpoint. Cette instruction indique au débogueur de suspendre l'exécution ; s'il n'y a pas de débogueur, la fonction est simplement ignorée. IDACode importe un package d'aide appelé dbg qui implémente une surcharge de breakpoint appelée bp. Cette fonction prend en charge la journalisation et les conditions :

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

Veuillez également noter qu'un appel à breakpoint() ne doit jamais se trouver à la fin d'un fichier ; il doit toujours se trouver avant toute autre ligne de code car il s'arrête sur l'instruction suivante de votre code. Notez également que si vous décidez d'utiliser le package dbg, vous devez soit supprimer toutes les références, soit utiliser la variable __idacode__ comme condition avant de l'exécuter comme un script IDA normal.
Il est également important de noter que l'attachement d'un débogueur créera une nouvelle instance de débogueur. Dans la plupart des cas, ce n'est pas ce que vous voulez. Si vous vous déconnectez du débogueur, utilisez le débogueur distant de VS Code pour vous reconnecter.

Problèmes connus

  • Le module importé ne se recharge pas après les modifications, reportez-vous à ce lien pour une solution de contournement.

Démonstration

démonstration

Contributeurs

  • mrexodia
  • MeitarR
  • Plutoberth
  • OevreFlataeker
  • RolfRolles
Télécharger l’outil