Pentest

IDA Pro : à quoi ça sert et comment l'utiliser en 2026

IDA Pro expliqué : désassembleur référence, Hex-Rays decompiler, IDA Free vs Home vs Pro, IDAPython, comparaison Ghidra, pricing 2026 abonnement Essential Ultimate.

Naim Aouaichia
13 min de lecture
  • IDA Pro
  • Hex-Rays
  • Reverse engineering
  • Désassembleur
  • Décompilateur
  • Pentest
  • Malware analysis

IDA Pro (Interactive Disassembler) est le désassembleur et décompilateur commercial de référence pour le reverse engineering depuis sa création en 1991 par Ilfak Guilfanov, maintenu depuis 2005 par Hex-Rays SA (Belgique). Il convertit un binaire exécutable (ELF, PE, Mach-O, firmware embarqué, bytecode .NET/Java/Python) en code assembleur annoté et reconstruit une pseudo-C lisible via le Hex-Rays Decompiler intégré. En 2026, IDA est utilisé quotidiennement par les chercheurs en sécurité chez Mandiant, ESET, Kaspersky, Microsoft Threat Intelligence Center, Synacktiv, Quarkslab, ZDI, Zerodium, les équipes ANSSI et DGSE, ainsi que par les principaux éditeurs antivirus et firmware. Il supporte 60+ architectures processeurs (x86, x64, ARM, ARM64, MIPS, PowerPC, RISC-V, SPARC, AVR, PIC, Xtensa) et 12 décompilateurs par architecture. Depuis octobre 2024 (version 9.0), Hex-Rays ne vend plus que des abonnements annuels (fin des licences perpétuelles) avec des plans IDA Free (gratuit non-commercial), IDA Home (365 USD/an), IDA Pro Essential (~1500 USD/an, 2 décompilateurs cloud), IDA Pro Expert-2/4/6, et IDA Pro Ultimate (tous décompilateurs, accès aux nouveautés). Face à Ghidra (NSA, gratuit, open source), IDA reste préféré en entreprise pour la qualité de son décompilateur, son écosystème de plugins massif, et la performance sur gros binaires. Cet article détaille l'histoire, les versions 2026, le fonctionnement interne, le Hex-Rays Decompiler, le scripting IDAPython, les plugins clés, la comparaison avec Ghidra/Binary Ninja/radare2, et les cas d'usage.

Histoire et positionnement

Chronologie IDA

1991  Premier IDA par Ilfak Guilfanov
      Démarrage comme outil personnel reverse
      Rachat par DataRescue (Belgique)
 
2005  Fondation Hex-Rays SA par Ilfak Guilfanov
      Séparation commerciale du décompilateur Hex-Rays
      IDA et Hex-Rays vendus comme produits distincts
 
2015  IDA 6.9 : Decompiler x64 grand public
      IDAPython devient standard
 
2019  IDA 7.4 : refonte UI, support Mach-O 64 bit natif
      Lumina cloud : partage de métadonnées analytic
 
2021  IDA 7.7 : décompileur PowerPC, améliorations ARM64
      IDA Home lancé (~365 USD/an)
 
2024  IDA 9.0 : bascule complète vers abonnements annuels
      Fin des licences perpétuelles (octobre 2024)
      12 décompilateurs disponibles
 
2025  IDA 9.x : améliorations ARM64e (Apple Pointer Auth),
              RISC-V decompiler en preview
              Intégration LLM-assisted naming et commentaires
 
2026  Position : standard industrie entreprise,
      Ghidra en concurrence sur apprentissage et coût

Position dans l'écosystème reverse 2026

Couche 1 - Tools gratuits et OSS :
  Ghidra (NSA)             : référence OSS depuis 2019
  radare2 + Cutter         : CLI scriptable
  Binary Ninja Free        : version limitée
  IDA Free                  : limitations claires
 
Couche 2 - Commercial standard :
  IDA Home (365 USD/an)    : enthusiast personnel
  Binary Ninja Personal (299 USD one-time, updates payants)
 
Couche 3 - Commercial entreprise :
  IDA Pro (1500-10000+ USD/an) : standard industrie
  Binary Ninja Commercial (1800 USD/an)
  JEB Pro                   : mobile focus
 
Couche 4 - Frameworks spécialisés :
  Angr, Miasm, Triton       : symbolic execution
  Unicorn Engine, Qiling    : émulation
  capstone-engine           : désassembleur comme lib

Comment IDA fonctionne en interne

Le workflow type avec IDA

1. Chargement du binaire
   IDA détecte le format (PE, ELF, Mach-O, bytecode)
   Parse les headers, sections, imports/exports
   Identifie l'architecture (x86_64, ARM64, etc.)
   Applique les loaders pour le format
 
2. Analyse initiale automatique
   Identification des fonctions (heuristiques prologue/épilogue)
   Reconstitution des call graphs
   Détection des strings cross-references
   Application de signatures FLIRT pour libraires standard
   Compilation d'une base IDB (IDA Database)
 
3. Analyse manuelle interactive
   L'analyste navigue dans le code désassemblé
   Renomme variables, fonctions, paramètres
   Définit types, structures, énumérations
   Ajoute commentaires et bookmarks
   Exécute Hex-Rays pour générer pseudo-C
 
4. Sauvegarde en IDB
   Format propriétaire qui stocke tout le travail
   Ré-ouvrable plus tard par l'analyste ou l'équipe
   Peut être partagé (IDB file)

Fichiers produits par IDA

.idb    : IDA Database 32-bit (legacy)
.i64    : IDA Database 64-bit (moderne 2026)
.til    : Type Information Library (types personnalisés)
.sig    : FLIRT signatures (Fast Library Identification)
.c      : export pseudo-C généré par Hex-Rays
.asm    : export assembleur annoté
 
Auto-saves :
  .id0, .id1, .id2, .nam, .til (créés pendant l'analyse)
  Consolidés en .i64 au moment du save explicite

FLIRT - Fast Library Identification and Recognition Technology

FLIRT permet à IDA de reconnaître automatiquement des fonctions issues de bibliothèques connues (MFC, STL, libc, libstdc++, Boost, .NET) et de les annoter en conséquence. Un binaire compilé avec GCC qui utilise libc verra ses appels malloc, free, printf identifiés automatiquement sans que l'analyste ait besoin de les étudier.

Signatures fournies par Hex-Rays :
  libc (glibc, musl, BSD)
  STL et libstdc++
  MFC (Microsoft Foundation Classes)
  .NET Framework
  Boost C++
  RTL (Runtime Library Delphi, Borland)
 
Production de signatures custom :
  IDB2SIG : outil Hex-Rays pour générer FLIRT signatures
  Utile pour SDK propriétaires connus

Hex-Rays Decompiler

Fonctionnement

Le Hex-Rays Decompiler est un module qui s'appuie sur l'analyse faite par IDA pour produire du pseudo-C à partir de l'assembleur. C'est le point différenciateur historique d'IDA.

Étapes internes décompilation :
  1. Lifting de l'assembleur vers microcode IR (intermediate representation)
  2. Simplifications et optimisations inverses
  3. Reconstruction du contrôle de flux (if/else, while, for, switch)
  4. Détection et nommage de variables locales
  5. Type inference (int, pointer, struct)
  6. Reconstruction des appels de fonction avec prototypes
  7. Production du pseudo-C affiché

Exemple avant/après

Assembleur x86_64 original (quelques dizaines de lignes) :
  push    rbp
  mov     rbp, rsp
  mov     edi, [rbp+var_14]
  cmp     edi, 0Ah
  jle     loc_short_path
  call    _printf
  ...
 
Pseudo-C Hex-Rays :
  if (number > 10) {
      printf("Large number: %d\n", number);
      process_large(number);
  } else {
      process_small(number);
  }
  return 0;

La qualité du décompileur influence directement la productivité. Un gros malware analysé en 2h avec bon décompileur peut prendre 8-15h en pure assembleur.

Les 12 décompilateurs Hex-Rays 2026

x86 (32-bit)
x64 (AMD64)
ARM (32-bit ARMv6/v7)
ARM64 (AArch64)
ARM64e (Apple Pointer Authentication, Apple Silicon)
MIPS (32-bit)
MIPS64
PowerPC (32-bit)
PowerPC64
SPARC
AVR (microcontrôleurs Arduino)
RISC-V (preview 2025-2026)

Chaque décompilateur est vendu séparément. IDA Pro Essential inclut 2 décompilateurs cloud au choix, Expert-4 inclut 4 décompilateurs locaux, Ultimate inclut tous.

Pricing 2026

Depuis octobre 2024 (IDA 9.0), Hex-Rays ne vend plus que des abonnements annuels. Plus de licences perpétuelles pour nouveaux clients.

Les plans IDA

PlanTarif approximatif 2026DécompilateursCible
IDA FreeGratuitx64 seul, fonctionnalités limitéesApprentissage, students
IDA Home~365 USD/an1 décompilateur cloudEnthusiast personnel non-commercial
IDA Pro Essential~1500 USD/an2 décompilateurs cloudProfessionnel budget serré
IDA Pro Expert-2~3000 USD/an2 décompilateurs locaux (air-gap)Professionnel autonome
IDA Pro Expert-4~5000 USD/an4 décompilateurs locauxÉquipe moyenne
IDA Pro Expert-6~7000 USD/an6 décompilateurs locauxEnterprise large
IDA Pro Ultimate~10 000+ USD/anTous + nouveaux autoTop enterprise, gouvernement
IDA TeamsVariableCollaboration multi-usersGrandes équipes

Les prix sont indicatifs et varient selon revendeurs (CCSo International, etc.) et négociations volume.

IDA Free vs IDA Home

IDA Free (gratuit, non-commercial uniquement) :
  x86 et x64 disassemblers
  1 décompilateur (x64 limité)
  Pas de support technique
  Pas d'accès au SDK pour plugins
  Pas de FLIRT commercial signatures
  Pas d'API stable pour IDAPython
 
IDA Home (365 USD/an, usage personnel) :
  x86, x64 complet
  1 décompilateur cloud au choix
  IDAPython complet
  Quelques features pro désactivées
  Support technique email
  Usage commercial interdit explicite

IDAPython - scripting et automatisation

IDAPython est l'API Python officielle intégrée depuis 2005. Permet d'automatiser tout ce qu'on peut faire manuellement.

Exemple de script IDAPython

# Lister toutes les fonctions avec leur adresse et nom
import idautils
import idc
 
for func_ea in idautils.Functions():
    func_name = idc.get_func_name(func_ea)
    func_size = idc.get_func_attr(func_ea, idc.FUNCATTR_END) - func_ea
    print(f"{hex(func_ea)}: {func_name} (size: {func_size})")
 
# Rechercher toutes les strings et fonctions qui les utilisent
for string_item in idautils.Strings():
    print(f"{hex(string_item.ea)}: {string_item}")
    for xref in idautils.XrefsTo(string_item.ea):
        func = idc.get_func_name(xref.frm)
        print(f"  -> utilisée dans {func}")
 
# Hex-Rays décompilation programmatique
import ida_hexrays
 
func_ea = idc.get_screen_ea()
cfunc = ida_hexrays.decompile(func_ea)
if cfunc:
    print(str(cfunc))

Plugins IDA écosystème 2026

Plugins à installer en priorité pour un pentester ou malware analyst :

Développés par Mandiant / FLARE Team :
  FLARE FLOSS plugin        : extraction strings obfusquées
  FLARE CAPA plugin         : identification capabilities
  shellcode_hashes          : identification API hashes malware
 
Développés par la communauté :
  BinDiff (Google/Zynamics) : comparaison binaires, patch diffing
  Diaphora                  : alternative OSS BinDiff
  Lighthouse                : coverage visualization
  IDA-Pro Scripts Collection (GitHub aksh-ag)
  YaCo                      : collaboration multi-users (OSS)
  ida-terminal               : terminal embarqué
 
AI-assisted (2024-2026) :
  Gepetto                   : ChatGPT intégré pour nommage auto
  Sidekick                  : Claude intégré
  Galapagos                 : commenter automatiquement fonctions
  Daedalus                  : assistant analyse malware
 
Cryptographie :
  findcrypt-yara            : identification primitives crypto
  Signsrch                  : signatures crypto
 
Obfuscation :
  IDAMagicStrings           : reconstruction strings obfusquées
  D810                      : deobfuscator VM-based
 
Divers :
  Lucid                     : graph viewer amélioré
  FunctionGraphOverview     : mini-map
  Tenet                     : timeline-based dynamic analysis
  IDAConnect                : sync collaborateur

IDA Teams - collaboration 2026

IDA Teams est la plateforme de collaboration Hex-Rays pour grandes équipes de reverse engineers.

Fonctionnalités :
  Repository Git-like pour IDB
  Merge conflicts résolution
  Commentaires et annotations synchronisés
  Gestion de versions analyses
  Access control par utilisateur/groupe
 
Pricing :
  Sur devis, typically 5000-20000+ USD/an selon taille équipe
 
Alternatives OSS :
  YaCo (Airbus open source, basé Git + IDA SDK)
  CollaboREate (historique)

Comparaison IDA Pro vs alternatives 2026

CritèreIDA ProGhidraBinary Ninjaradare2
LicenceCommercialOSS Apache 2.0CommercialOSS LGPL
Coût entrée1500-10000+ USD/anGratuit299 USD PersonalGratuit
Qualité décompileurExcellent (HexRays)BonBon (BNIL)Basique (r2ghidra)
Architectures60+20+25+60+
InterfaceGUI native matureGUI Java moderneUX moderneCLI + Cutter GUI
ScriptingIDAPython (mature)Python + JavaPython (excellent)r2pipe Python/Go/Node
Plugins écosystèmeTrès riche (20+ ans)Croissant depuis 2019ModéréModéré
Performance gros binairesExcellenteBonneBonneRapide sur CLI
Debugger intégréOui (IDA Debugger)Oui (limité)Oui (en beta)Oui
CollaborationIDA Teams commercialGhidra ServerCollab en betaPas natif
CibleEnterprise, recherche proApprentissage, OSS proDéveloppeurs modernesScripting, CTF, CLI

Recommandation pragmatique

Débutant (0-1 an) :
  Commencer avec Ghidra (gratuit, apprentissage gratifiant)
  Essayer IDA Free pour comprendre l'UX IDA
  Pratiquer sur CTF, crackmes, labs
 
Intermédiaire (1-3 ans) :
  Ghidra principal + IDA Home à 365 USD/an si budget
  Ou Binary Ninja Personal 299 USD (payé once, updates optional)
  Construire son set de plugins
 
Professionnel (3+ ans) :
  IDA Pro Essential ou Expert si entreprise l'achète
  Binary Ninja Commercial comme alternative
  Ghidra gardé pour tâches spécifiques
 
Enterprise (SOC/CSIRT, cabinet offensive) :
  IDA Pro Expert-2/4/6 ou Ultimate
  IDA Teams pour collaboration
  Ghidra en second choix ou cas particuliers

Cas d'usage concrets

Cas 1 - Analyse de malware

Workflow type (analyste Kaspersky, ESET, Mandiant) :
  1. Triage initial : file type, hash VT, strings
  2. Import dans IDA, analyse automatique
  3. Identifier entry point et fonctions principales
  4. Hex-Rays decompile sur fonctions suspectes
  5. Identifier C2 (URLs, IPs)
  6. Comprendre capabilities (file encryption,
     credential stealing, persistence)
  7. Extraire IOCs (hashes, domains, strings)
  8. Écrire règle YARA basée sur le binaire
  9. Écrire règle Sigma basée sur comportement
  10. Rédiger rapport

Cas 2 - Recherche de vulnérabilités

Workflow type (researcher ZDI, Synacktiv) :
  1. Chercher inputs non validés (network, file, IPC)
  2. Hex-Rays decompile sur parsers
  3. Identifier patterns risque (strcpy, sprintf, memcpy)
  4. Tracer data flow de input vers sink
  5. Exploit proof-of-concept avec fuzzing guidé
  6. Développer full exploit
  7. Responsible disclosure ou vente ZDI

Cas 3 - Patch diffing (analyse Patch Tuesday Microsoft)

Workflow type :
  1. Télécharger binaire pre-patch (novembre) et post-patch (décembre)
  2. Charger les deux dans IDA (2 instances)
  3. Utiliser BinDiff pour comparer
  4. Identifier fonctions modifiées
  5. Analyser le changement (quelle vuln corrigée ?)
  6. Développer exploit pour N-day

Cas 4 - Audit firmware IoT

Workflow type (Quarkslab, Ledger Donjon) :
  1. Extraire firmware (binwalk, flashrom)
  2. Identifier architecture (souvent MIPS, ARM)
  3. Loader custom dans IDA si format exotique
  4. Hex-Rays decompile pour comprendre bootloader
  5. Identifier secrets hardcodés, protocoles custom
  6. Chercher buffer overflows, auth bypass
  7. Rapporter au constructeur

Ressources d'apprentissage IDA

Livres :
  "The IDA Pro Book" (Chris Eagle, 2nd edition, 2011)
    Référence absolue malgré l'âge
  "Practical Reverse Engineering" (Dang, Gazet, Bachaalany)
    Couvre IDA + Windows internals
  "Reverse Engineering for Beginners" (Dennis Yurichev)
    Gratuit, agnostique outil
 
Documentation officielle :
  Hex-Rays help (F1 dans IDA)
  hex-rays.com/tutorials (gratuit)
 
Vidéos et cours :
  OpenSecurityTraining2 IDA course (gratuit)
  PentesterAcademy IDA labs
  HackTheBox Academy Reverse Engineering Intro
 
Blogs et tutoriels :
  Hex-Rays blog officiel
  SecurityXploded
  Vitaly Nikolenko blog
  Hatching.io Triage research
 
Communauté :
  Reddit r/REMath
  Twitter/X #IDA #reverseengineering
  Malware Unicorn free reverse engineering workshops

Points clés à retenir

  • IDA Pro (Interactive Disassembler) est le désassembleur et décompilateur commercial de référence pour le reverse engineering depuis 1991, maintenu par Hex-Rays (Belgique) depuis 2005.
  • 4 usages principaux 2026 : malware analysis (Mandiant, ESET, Kaspersky), vulnerability research (ZDI, Zerodium, Synacktiv), firmware audit (Quarkslab, Ledger), forensic digital (CSIRT, DFIR).
  • Supporte 60+ architectures et 12 décompilateurs (x86, x64, ARM, ARM64, ARM64e, MIPS, PowerPC, SPARC, AVR, RISC-V preview).
  • Depuis IDA 9.0 (octobre 2024) : abonnements annuels uniquement, plus de licences perpétuelles. Plans : Free (gratuit non-commercial), Home (365 USD/an), Essential (~1500 USD), Expert-2/4/6, Ultimate (~10k+ USD).
  • Hex-Rays Decompiler est le différenciateur clé : qualité du pseudo-C supérieure aux alternatives, productivité multipliée 3-7x sur gros binaires.
  • IDA vs Ghidra : Ghidra (NSA, OSS, gratuit) est excellent pour apprentissage. IDA Pro reste standard entreprise pour qualité décompileur + écosystème plugins + performance gros binaires.
  • IDAPython = API Python complète pour automatisation, plugins, scripting. Écosystème 2026 riche : FLARE plugins (Mandiant), BinDiff, Diaphora, Lighthouse, AI plugins (Gepetto ChatGPT, Sidekick Claude).
  • Fichiers IDB : propriétaires Hex-Rays (format .i64 pour 64-bit), stockent tout le travail de reverse, partageables en équipe, mais non rétrocompatibles entre versions majeures.

Pour les fondamentaux du reverse engineering qui utilise IDA, voir qu'est-ce que le reverse engineering : définition 2026. Pour un parcours d'apprentissage complet qui intègre IDA progressivement, lire roadmap reverse engineering 2026 : parcours complet étape par étape. Pour comprendre les formats binaires qu'IDA analyse, consulter ELF, PE, Mach-O : différences et analyse reverse 2026. Pour l'outillage complet du pentester qui inclut IDA, voir les outils de base du pentester en 2026.

Questions fréquentes

  • Qu'est-ce qu'IDA Pro et à quoi ça sert ?
    IDA Pro (Interactive Disassembler) est le désassembleur et décompilateur commercial de référence pour le reverse engineering, développé depuis 1991 par Ilfak Guilfanov puis Hex-Rays (Belgique). Il convertit un binaire exécutable (ELF, PE, Mach-O, firmware) en code assembleur annoté et propose une décompilation pseudo-C via Hex-Rays Decompiler. Ses 4 usages principaux en 2026 : analyse de malware, recherche de vulnérabilités, audit de firmware embarqué, forensic digital. Il supporte 60+ architectures processeurs et 12 décompilateurs distincts (x86, x64, ARM, ARM64, MIPS, PowerPC, RISC-V, PIC, SPARC, etc.).
  • IDA Free, IDA Home ou IDA Pro : lequel choisir en 2026 ?
    IDA Free (gratuit, non-commercial) : désassembleur + décompilateur x86/x64, pour étudiants et apprentissage, limitations sur plugins et APIs. IDA Home (environ 365 USD/an) : désassembleur personnel complet mais décompileur limité, target enthusiast développeur. IDA Pro Essential (~1500 USD/an) : 2 décompilateurs cloud au choix. IDA Pro Expert-2/4/6 (~3000-6000 USD/an) : 2 à 6 décompilateurs locaux (air-gap). IDA Pro Ultimate (~10 000+ USD/an) : tous les décompilateurs, accès aux nouveaux automatiquement. Depuis octobre 2024, Hex-Rays ne vend plus que des abonnements annuels (fin des licences perpétuelles).
  • IDA Pro ou Ghidra : quel outil utiliser ?
    Choix dépendant du contexte. Ghidra (NSA, OSS Apache 2.0, gratuit) : excellent pour apprentissage, open source, multi-architecture natif, scriptable Python/Java. IDA Pro (commercial) : référence historique industrie, Hex-Rays decompiler de meilleure qualité sur x86/x64/ARM64, écosystème de plugins massif, performance supérieure sur gros binaires, support commercial. Stratégie 2026 pragmatique : Ghidra pour apprendre et projets personnels, IDA Pro en entreprise si budget permet (rétention des bonnes pratiques inter-équipes via IDB partagés, Lumina cloud, Teams pour collaboration).
  • Qu'est-ce que le Hex-Rays Decompiler ?
    Hex-Rays Decompiler est le module de décompilation qui convertit l'assembleur désassemblé par IDA en code pseudo-C lisible. Développé comme un module distinct (historiquement acheté séparément, maintenant inclus dans les plans Essential+ 2026), c'est l'élément qui distingue IDA de la plupart des concurrents. 12 décompilateurs disponibles en 2026 par architecture : x86, x64, ARM, ARM64, MIPS, MIPS64, PowerPC, PowerPC64, SPARC, AVR, etc. Le décompilateur reconstruit variables, structures, contrôles de flux, et noms significatifs quand possible. C'est l'outil principal d'un analyste malware ou vulnerability researcher.
  • IDA est-il scriptable ?
    Oui, très largement. Deux langages supportés. IDAPython (intégré depuis 2005) : API Python complète pour automatiser l'analyse, scripter des tâches répétitives, créer des plugins. IDC (langage propriétaire C-like, historique) : moins utilisé aujourd'hui mais toujours présent. API couvre : manipulation IDB, analyse, annotations, Hex-Rays (API HRA Python), debugger control, graph customization. L'écosystème IDAPython compte des centaines de plugins OSS : Capstone disassembler, YARA integration, BinDiff, Binlex, FLARE-Team plugins (Mandiant), FRIEND, CollaboREate pour team collaboration.
  • Que contient un fichier IDB d'IDA ?
    L'IDB (IDA Database) est le format de stockage IDA qui contient tout le travail de reverse : le binaire parsé, les annotations manuelles (noms de fonctions, commentaires, types), les structures reconstruites, les graphes, les signatures FLIRT appliquées, les scripts IDAPython exécutés, l'état du debugger. Format propriétaire non rétrocompatible entre versions majeures (IDA 9.x IDB ne s'ouvre pas dans IDA 8.x). Peut être partagé entre analysts d'une équipe (format i64 pour 64-bit, idb pour 32-bit historique). Taille typique : 50 MB à plusieurs GB pour gros binaires.

Écrit par

Naim Aouaichia

Expert cybersécurité et fondateur de Zeroday Cyber Academy

Expert cybersécurité avec un master spécialisé et un parcours hybride : développement, DevOps, DevSecOps, SOC, GRC. Fondateur de Hash24Security et Zeroday Cyber Academy. Formateur et créateur de contenu technique sur la cybersécurité appliquée, la sécurité des LLM et le DevSecOps.