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
HexRaysCodeXplorer — Plugin Hex-Rays Decompiler pour une meilleure navigation dans le code | Kitploit
Outils/GitHubGitHub/rehints/hexrayscodexplorer
Analyse StatiqueRétro-ingénierieDébogueursAnalyse de MalwareAnalyse de Binaires
GitHubrehints/hexrayscodexplorer

HexRaysCodeXplorer

Plugin Hex-Rays Decompiler pour une meilleure navigation dans le code

Voir le dépôt
2.6k413il y a 8 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

| | | | | ___ \ / __ \ | | \ \ / / | |
| || | _____ | |/ /__ _ _ _ | | / ___ | | ___ \ V / _ __ | | ___ _ __ ___ _ __ | _ |/ _ \ / / // | | | / __| | / _ \ / _ |/ _ / | ' | |/ _ | '/ _ \ '| | | | | __/> <| |\ \ (| | || __ \ _/\ () | (| | __/ /^\ \ |) | | () | | | __/ |
_| |
/_//__| __,|_, |/_/_/ _,|_/ / ./||___/|| ___||
/ | | |
|
/ |_|

============================================================================

License: GPL v3 Code Climate Issue Count

Le plugin Hex-Rays Decompiler pour une meilleure navigation dans le code lors du processus de RE. CodeXplorer automatise la REconstruction de code d'applications C++ ou de malwares modernes comme Stuxnet, Flame, Equation, Animal Farm ... :octocat:

Le plugin CodeXplorer est l'un des premiers plugins Hex-Rays Decompiler disponibles publiquement. Nous maintenons ce projet à jour depuis l'été 2013 et continuons à ajouter régulièrement de nouvelles fonctionnalités. Les fonctionnalités les plus intéressantes de CodeXplorer ont également été présentées lors de nombreuses conférences de sécurité telles que : REcon, ZeroNights, H2HC, NSEC et BHUS 👾

Contributeurs :

Alex Matrosov (@matrosov)

Eugene Rodionov (@rodionov)

Rodrigo Branco (@rrbranco)

Gabriel Barbosa (@gabrielnb)

Versions prises en charge des produits Hex-Rays : nous nous concentrons toujours sur les dernières versions d'IDA et du Decompiler car nous essayons d'utiliser les nouvelles fonctionnalités intéressantes des dernières versions du SDK. Cela signifie également que nous testons uniquement sur les dernières versions des produits Hex-Rays et que nous ne garantissons pas un fonctionnement stable sur les versions précédentes.

Pourquoi pas IdaPython : tout le code est développé en C/C++ car c'est une manière plus stable de supporter un plugin complexe pour Hex-Rays Decompiler.

Plateformes prises en charge : x86/x64 pour Win, Linux et Mac.

HexRaysCodeXplorer - Plugin Hex-Rays Decompiler pour une navigation plus facile dans le code. Le menu contextuel (clic droit) dans la fenêtre Pseudocode affiche les commandes du plugin CodeXplorer :

1

💎 Voici les principales fonctionnalités du plugin CodeXplorer : 💎

  • REconstruction automatique de types pour les objets C++. Pour reconstruire un type à l'aide de HexRaysCodeXplorer, il faut sélectionner la variable contenant le pointeur vers l'instance de code indépendant de la position ou vers un objet, puis, par clic droit, sélectionner l'option « Reconstruire le type » dans le menu contextuel :

2

La structure reconstruite est affichée dans la « Fenêtre de sortie ». Des informations détaillées sur la fonctionnalité de reconstruction de type sont fournies dans l'article de blog « Type REconstruction in HexRaysCodeXplorer ».

Le plugin CodeXplorer prend également en charge la reconstruction automatique de type dans le stockage des types locaux d'IDA.

6

  • Identification des tables de fonctions virtuelles - identifie automatiquement les références aux tables de fonctions virtuelles lors de la reconstruction de type. Lorsqu'une référence à une table de fonctions virtuelles est identifiée, le plugin génère une structure C correspondante. Comme illustré ci-dessous, lors de la reconstruction de struct_local_data_storage, deux tables de fonctions virtuelles ont été identifiées et, par conséquent, deux structures correspondantes ont été générées : struct_local_data_storage_VTABLE_0 et struct_local_data_storage_VTABLE_4.

12

  • Visualisation du graphe C-tree – une structure arborescente spéciale représentant une routine décompilée en termes de citem_t (hexrays.hpp). Fonctionnalité utile pour comprendre le fonctionnement du décompilateur. Le nœud du graphe en surbrillance correspond à la position actuelle du curseur dans la fenêtre Pseudocode HexRays :

3

  • Vue Ctree Item – affiche la représentation ctree pour l'élément en surbrillance :

16

  • Extraction des Ctrees vers un fichier – calcule le hash SHA1 et exporte tous les ctrees vers un fichier.

14

  • Extraction des Types vers un fichier – exporte toutes les informations de type (y compris les types reconstruits) vers un fichier.

  • Navigation dans les appels de fonctions virtuelles dans la fenêtre Pseudocode HexRays. Après avoir représenté les objets C++ par des structures C, cette fonctionnalité permet de naviguer par clic de souris vers les appels de fonctions virtuelles en tant que champs de structure :

4

  • Sauter vers le désassemblage - petite fonctionnalité pour naviguer vers le code assembleur dans la « Fenêtre IDA View » à partir de la position actuelle dans la ligne Pseudocode. Cela permet de trouver un emplacement dans le code assembleur associé à la ligne décompilée.

8

  • Object Explorer – interface utile pour naviguer dans les structures de tables virtuelles (VTBL). Object Explorer affiche les informations VTBL dans une fenêtre personnalisée d'IDA. La fenêtre de sortie est affichée en choisissant l'option « Object Explorer » dans le menu contextuel du clic droit :

5

Object Explorer prend en charge les fonctionnalités suivantes :

  • Génération automatique de structures pour VTBL dans les types locaux d'IDA

  • Navigation dans la liste des tables virtuelles et saut vers l'adresse VTBL dans la fenêtre « IDA View » par clic

  • Affichage des indications pour la position actuelle dans la liste des tables virtuelles

  • Affichage de la liste des références croisées par clic dans le menu « Show XREFS to VTBL »

11

  • Prise en charge de l'analyse automatique des objets RTTI :

13

Le mode Batch contient les fonctionnalités suivantes :

  • Mode Batch - fonctionnalité utile pour utiliser CodeXplorer afin de traiter plusieurs fichiers sans aucune interaction de l'utilisateur. Nous avons ajouté cette fonctionnalité après la recherche Black Hat en 2015 pour traiter 2 millions d'échantillons.
root@kitploit:~
Exemple (export des types et des ctrees pour les fonctions avec le préfixe de nom "crypto_") :
idaq.exe -OHexRaysCodeXplorer:dump_types:dump_ctrees:CRYPTOcrypto_path_to_idb

Compilation :

Windows :

  • Ouvrez la solution dans Visual Studio
  • Ouvrez le fichier src/HexRaysCodeXplorer/PropertySheet.props dans le Bloc-notes(++) et mettez à jour les valeurs des chemins IDADIR et IDASDK pour pointer vers le chemin d'installation d'IDA et le chemin du SDK IDA7 en conséquence. Le SDK HexRays doit se trouver dans $IDADIR\plugins\hexrays_sdk (comme par défaut)
  • Compilez les configurations Release | x64 et Release x64 | x64

Linux :

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<CHEMIN_VERS_IDA> IDA_SDK=<CHEMIN_VERS_SDK_IDA> EA64=0 make -f makefile.lnx
  • IDA_DIR=<CHEMIN_VERS_IDA> IDA_SDK=<CHEMIN_VERS_SDK_IDA> EA64=0 make -f makefile.lnx install

Mac :

  • cd src/HexRaysCodeXplorer/
  • IDA_DIR=<CHEMIN_VERS_IDA> IDA_SDK=<CHEMIN_VERS_SDK_IDA> make -f makefile.mac
  • Le makefile Mac peut nécessiter quelques modifications manuelles, les pull requests sont les bienvenues !
  • L'extension de fichier .pmc d'IDA 7.0 doit être .dylib
  • bash$ export IDA_DIR="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS" && export IDA_SDK="/Applications/IDA\ Pro\ 7.0/ida.app/Contents/MacOS/idasdk" && make -f makefile7.mac
  • Ou ouvrez le projet dans Xcode HexRaysCodeXplorer.xcodeproj

Avec CMake :

  • cd src/HexRaysCodeXplorer/
  • mkdir build && cd build
  • cmake .. -DIdaSdk_ROOT_DIR=<CHEMIN_VERS_SDK_IDA> -DHexRaysSdk_ROOT_DIR=<CHEMIN_VERS_SDK_HEXRAYS>
  • cmake --build . --config Release

============================================================================

Conférences sur le plugin CodeXplorer :

  • 2015
  • « Distributing the REconstruction of High-Level IR for Large Scale Malware Analysis », BHUS [diapositives]
  • « Object Oriented Code RE with HexraysCodeXplorer », NSEC [diapositives]
  • 2014
  • « HexRaysCodeXplorer: object oriented RE for fun and profit », H2HC [diapositives]
  • 2013
  • « HexRaysCodeXplorer: make object-oriented RE easier », ZeroNights [diapositives]
  • « Reconstructing Gapz: Position-Independent Code Analysis Problem », REcon [diapositives]
Télécharger l’outil