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ûtPosition 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 libComment 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 expliciteFLIRT - 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 connusHex-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
| Plan | Tarif approximatif 2026 | Décompilateurs | Cible |
|---|---|---|---|
| IDA Free | Gratuit | x64 seul, fonctionnalités limitées | Apprentissage, students |
| IDA Home | ~365 USD/an | 1 décompilateur cloud | Enthusiast personnel non-commercial |
| IDA Pro Essential | ~1500 USD/an | 2 décompilateurs cloud | Professionnel budget serré |
| IDA Pro Expert-2 | ~3000 USD/an | 2 décompilateurs locaux (air-gap) | Professionnel autonome |
| IDA Pro Expert-4 | ~5000 USD/an | 4 décompilateurs locaux | Équipe moyenne |
| IDA Pro Expert-6 | ~7000 USD/an | 6 décompilateurs locaux | Enterprise large |
| IDA Pro Ultimate | ~10 000+ USD/an | Tous + nouveaux auto | Top enterprise, gouvernement |
| IDA Teams | Variable | Collaboration multi-users | Grandes é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 expliciteIDAPython - 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 collaborateurIDA 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ère | IDA Pro | Ghidra | Binary Ninja | radare2 |
|---|---|---|---|---|
| Licence | Commercial | OSS Apache 2.0 | Commercial | OSS LGPL |
| Coût entrée | 1500-10000+ USD/an | Gratuit | 299 USD Personal | Gratuit |
| Qualité décompileur | Excellent (HexRays) | Bon | Bon (BNIL) | Basique (r2ghidra) |
| Architectures | 60+ | 20+ | 25+ | 60+ |
| Interface | GUI native mature | GUI Java moderne | UX moderne | CLI + Cutter GUI |
| Scripting | IDAPython (mature) | Python + Java | Python (excellent) | r2pipe Python/Go/Node |
| Plugins écosystème | Très riche (20+ ans) | Croissant depuis 2019 | Modéré | Modéré |
| Performance gros binaires | Excellente | Bonne | Bonne | Rapide sur CLI |
| Debugger intégré | Oui (IDA Debugger) | Oui (limité) | Oui (en beta) | Oui |
| Collaboration | IDA Teams commercial | Ghidra Server | Collab en beta | Pas natif |
| Cible | Enterprise, recherche pro | Apprentissage, OSS pro | Développeurs modernes | Scripting, 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 particuliersCas 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 rapportCas 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 ZDICas 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-dayCas 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 constructeurRessources 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 workshopsPoints 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.





