L'écosystème reverse engineering en 2026 s'organise autour d'une dizaine de catégories d'outils complémentaires : désassembleurs-décompilateurs (Ghidra, IDA Pro, Binary Ninja, Radare2/Cutter), debuggers (x64dbg, gdb+gef/pwndbg, WinDbg, lldb), analyse statique low-level (objdump, readelf, PEStudio, DIE, capa), sandboxing (Cuckoo/CAPE, ANY.RUN, Hybrid Analysis), reverse mobile (jadx, apktool, MobSF, Frida, Objection, Corellium), firmware (binwalk, unblob, firmadyne), analyse symbolique (angr, Triton, miasm), diff binaire (BinDiff, Diaphora), signatures (YARA, Sigma), forensics mémoire (Volatility 3, Rekall), et distributions clés en main (FLARE VM, REMnux). Ce guide les passe en revue avec leurs cas d'usage, forces et limites.
1. Comment choisir un outil
Trois critères dominent :
- Cas d'usage : malware analyst, AppSec mobile, exploit dev et reverse firmware n'utilisent pas la même stack.
- Architecture cible : x86/x64, ARM/ARM64, MIPS, RISC-V, PowerPC, ESP32, etc.
- Format binaire : PE (Windows), ELF (Linux/Android natifs), Mach-O (macOS/iOS), DEX (Android Java), WASM, .NET CIL, JVM bytecode.
Ne pas chercher l'outil ultime. Les reversers expérimentés combinent 3 à 5 outils par session : statique principal + debugger + utilitaires + sandbox. La maîtrise vient de la familiarité, pas du nombre.
2. Désassembleurs et décompilateurs
Le cœur de la chaîne. Chargent un binaire, en extraient le code assembleur, identifient fonctions et structures, proposent une décompilation pseudo-C.
2.1 Ghidra
Maintenu par la NSA, open source depuis mars 2019. Multi-architectures (x86, ARM, MIPS, PowerPC, AVR, 68K, RISC-V via extensions). Décompilateur P-code performant, scriptable en Java et Python (Jython). UI Swing austère mais efficace une fois apprivoisée.
- Forces : gratuit, multi-archi natif, décompilateur de niveau professionnel, communauté très active (plugins Ghidra-Cpp-Class-Analyzer, BinExport, ret-sync, Kaiju de la CMU).
- Limites : démarrage lent, debug intégré faible, ergonomie moins polie qu'IDA.
- À qui : débutants et confirmés, premier choix recommandé en 2026 pour démarrer.
2.2 IDA Pro + Hex-Rays
Le standard historique du secteur depuis les années 90 (Hex-Rays, Belgique). Le décompilateur Hex-Rays est mature au-delà de Ghidra sur certains cas (devirtualization C++, types complexes). Architectures payantes à l'unité (x86 dans la base, ARM, MIPS, etc. en options).
- Forces : référence du marché, écosystème de plugins immense (FLARE-IDA, FunCap, IDAPython community), support commercial.
- Limites : licence annuelle élevée (à partir de plusieurs milliers d'euros pour IDA Pro + Hex-Rays par architecture), version IDA Free limitée.
- À qui : pros avec budget employeur, équipes CTI, éditeurs antivirus.
2.3 Binary Ninja
Vector 35, lancé en 2016. Approche moderne avec représentations intermédiaires (LLIL, MLIL, HLIL) très clean. API Python officielle élégante.
- Forces : UI moderne, IL multi-niveaux idéal pour scripting, prix raisonnable (licence personnelle accessible).
- Limites : moins de plugins communautaires qu'IDA ou Ghidra, support architectures plus restreint.
- À qui : reversers qui scriptent beaucoup, équipes voulant un outil moderne sans payer le prix IDA.
2.4 Radare2 / Rizin / Cutter
Radare2 (puis fork Rizin en 2020 pour gouvernance plus structurée) : suite CLI puissante, scriptable, multi-architectures, gratuite. Cutter est l'UI graphique de Rizin, basée sur le décompilateur Ghidra (P-code) intégré.
- Forces : CLI scriptable, écosystème open source, multi-archi, parfait pour l'automatisation.
- Limites : courbe d'apprentissage CLI très raide, UI Cutter encore en évolution.
- À qui : profils Linux confirmés, automatisation CI, environnements minimalistes.
2.5 Hopper Disassembler
Macro-spécifique macOS et Linux, payant à licence perpétuelle. Très utilisé pour reverse iOS et binaires macOS.
- Forces : excellent sur Mach-O, prix raisonnable, UI native macOS.
- Limites : moins puissant que IDA/Ghidra sur cas complexes, communauté plus restreinte.
2.6 Décompilateurs spécialisés par langage
- dnSpy / dnSpyEx : .NET CIL, gratuit. UI Visual Studio-like, édition à la volée.
- ILSpy : décompilateur .NET open source, alternative à dnSpy.
- JD-GUI, Procyon, CFR, FernFlower : décompilateurs Java JAR.
- jadx : DEX (Android) → Java, voir section mobile.
- wabt + wasm-decompile : WebAssembly.
- uncompyle6, decompyle3 : Python
.pyc(jusqu'à 3.8 puis 3.10 selon version).
3. Debuggers
L'analyse dynamique reste irremplaçable pour comprendre des comportements complexes (anti-debug, déchiffrement runtime, IPC).
3.1 x64dbg / x32dbg
Le debugger ring-3 Windows gratuit moderne. Successeur d'OllyDbg (qui ne supportait pas x64). Plugin Scylla intégré pour dump mémoire et reconstruction d'IAT (essentiel pour unpacking manuel).
- Forces : gratuit, ergonomique, plugins (xAnalyzer, ScyllaHide pour bypass anti-debug, Yara4Dbg).
- Limites : Windows uniquement, pas de décompilateur intégré (utiliser Snowman comme plugin).
3.2 gdb + GEF / pwndbg
gdb est le debugger UNIX standard. Brut sans extension. Les plugins GEF (Hugsy) et pwndbg transforment l'expérience pour le pwn et le RE :
- Affichage automatique de la pile, des registres, du désassemblage à chaque break.
- Commandes high-level (
pattern create,checksec,vmmap,heap). - Intégration avec ROPgadget, capstone, unicorn.
À installer dès le premier jour de pratique sur Linux. pwndbg est légèrement plus orienté CTF/pwn, GEF plus polyvalent ; les deux sont excellents.
3.3 WinDbg
Le debugger officiel Microsoft. Indispensable pour le kernel debugging Windows, dump analysis (.dmp, BSOD), et tout reverse approfondi sur Windows. WinDbg Preview (depuis ~2017) modernise l'interface avec time travel debugging (TTD).
- Forces : seul debugger sérieux pour le kernel Windows, TTD permet de revenir en arrière dans une trace.
- Limites : courbe d'apprentissage, syntaxe verbeuse.
3.4 lldb
Debugger officiel LLVM/Apple. Standard sur macOS et iOS. Supporte ARM64 nativement, requis pour reverse iOS et applications natives Apple Silicon.
3.5 dnSpy (debugger .NET)
dnSpy intègre un debugger .NET runtime capable d'éditer le code à la volée. Indispensable pour reverse de malware .NET commun (RAT comme AsyncRAT, NJRat, QuasarRAT).
4. Analyse statique de surface
Avant d'ouvrir un binaire dans Ghidra, ces outils donnent en quelques secondes des informations critiques.
4.1 Outils Unix classiques
| Outil | Usage |
|---|---|
file | Type du fichier (ELF 64-bit, PE32+, etc.) |
strings | Chaînes ASCII et UTF-16 (avec -e l pour wide) |
hexdump -C / xxd | Vue hexadécimale brute |
objdump -d -M intel | Désassemblage rapide |
readelf -a | Toutes les métadonnées ELF |
nm | Symboles |
ldd | Dépendances dynamiques |
strace / ltrace | Trace syscalls / appels libc à l'exécution |
4.2 Outils Windows / PE
- PEStudio (gratuit, version personnelle) : analyse PE all-in-one - imports, exports, sections, certificats, hashes, indicateurs de comportement suspect.
- PEview, PE-bear, CFF Explorer : exploration PE plus brute, édition possible.
- Detect It Easy (DIE) : détection de packer, signature compilateur, langage source. Essentiel.
- Sigcheck (Sysinternals) : vérification signature, hashes, lookup VirusTotal.
4.3 Outils Mach-O
otool(équivalent macOS d'objdump).class-dump: extraction des classes Objective-C depuis un Mach-O.nm,lipo(gestion des binaires fat).
4.4 capa (Mandiant)
capa identifie automatiquement les capacités d'un binaire (créer un mutex, écrire dans la registry, contacter un C2 via HTTP, déchiffrer du XOR, etc.) à partir de règles communautaires en YAML. Gain de temps considérable au premier contact avec un malware.
capa suspicious.exe
# Affiche : "spawn thread to read shared memory", "encrypt data using AES",
# "get system information via WMI", "communicate using HTTP", etc.4.5 FLOSS
FLOSS (Mandiant) : extraction de chaînes obfusquées (XOR simple, stack strings, decoded strings). Va plus loin que strings.
5. Sandboxing et analyse dynamique automatisée
Exécution contrôlée d'un échantillon dans un environnement instrumenté.
5.1 Open source / self-hosted
- Cuckoo Sandbox : pionnier (2010+), encore utilisé. Maintenance ralentie.
- CAPE (Configuration And Payload Extraction Sandbox) : fork moderne de Cuckoo, supporte unpacking automatique et extraction de configs malware. Choix recommandé en 2026 pour self-host.
- DRAKVUF : sandbox basée sur Xen, instrumentation kernel agentless, idéale pour samples anti-VM.
5.2 Commerciaux et SaaS
- ANY.RUN : sandbox interactive (vous voyez le bureau Windows, cliquez), freemium. Excellente pour la première triage.
- Joe Sandbox, VMRay, Hatching Triage (devenu Recorded Future Triage) : commerciaux, rapports détaillés, intégrations EDR.
- Hybrid Analysis (CrowdStrike) : freemium, communauté, lookup de hash.
- VirusTotal : 70+ moteurs antivirus, comportement sandboxé partiel, écosystème de relations entre samples (VT Graph), Retrohunt YARA.
6. Forensics mémoire
L'analyse de dumps mémoire est un domaine voisin du RE, indispensable en incident response.
- Volatility 3 : standard open source. Plugins pour processus, network, registry hive, malfind, scan rootkits.
- Rekall : fork (par Google), maintenance ralentie depuis 2020.
- MemProcFS (Ulf Frisk) : monte un dump comme un système de fichiers, navigation rapide.
- KAPE (Kroll Artifact Parser and Extractor) : collecte et triage Windows orientée DFIR.
- Velociraptor : framework collecte distribué, Sigma-friendly.
Pour acquérir le dump : WinPmem, DumpIt, Magnet RAM Capture (Windows) ; LiME (Linux) ; OSXPMem (macOS, dépassé).
7. Reverse mobile
7.1 Android
- jadx : décompile DEX → Java très lisible. Premier outil à lancer sur un APK.
- apktool : extrait et reconstruit APK, manipule smali (assembleur Dalvik).
- MobSF (Mobile Security Framework) : analyse statique et dynamique automatisée. Excellent pour rapport rapide.
- Frida : framework d'instrumentation runtime - injection JavaScript dans le process. Standard pour bypass SSL pinning, root detection, debug Java/native.
- Objection : framework au-dessus de Frida avec commandes prêtes (
android sslpinning disable,android root disable). - Ghidra / IDA / Binary Ninja : pour les bibliothèques natives
.so(ARM64, x86_64) embarquées dans l'APK. - Drozer : pentest IPC Android (intents, content providers).
- APKLab (extension VS Code) : workflow décompilation + édition smali intégré.
7.2 iOS
- Hopper ou IDA ou Ghidra : Mach-O ARM64.
- class-dump : extraction Objective-C class info.
- Frida + Objection : également centraux côté iOS (jailbreak requis pour beaucoup de scénarios).
- Cycript (déprécié, remplacé par Frida).
- Corellium : virtualisation iOS commerciale - permet de tourner iOS sur ARM cloud sans device physique, avec hooks profonds. Investissement, mais souvent indispensable pour le pentest mobile sérieux.
7.3 Émulateurs
- Android Studio Emulator : x86_64, hardware accel, mais ne supporte pas tout le code natif ARM-only.
- Genymotion : commercial, performant.
- Waydroid : Android dans un conteneur Linux, expérimental mais utile.
8. Firmware et systèmes embarqués
8.1 Extraction et exploration
- binwalk : outil de référence pour identifier et extraire les sections d'un firmware (kernel, rootfs, certificats, fichiers compressés).
- unblob : alternative moderne (ONEKEY), plus précise sur les containers complexes.
- FACT (Firmware Analysis and Comparison Tool) : Fraunhofer, plateforme web automatisée.
8.2 Émulation
- firmadyne : émule des firmwares Linux embarqués (routeurs).
- FirmAE : amélioration de firmadyne avec arming heuristics.
- QEMU (
qemu-system-arm,qemu-system-mips, etc.) : émulation système basse niveau. - EMUX : framework émulation IoT.
8.3 Hardware
Quand l'analyse logicielle ne suffit pas : Bus Pirate, JTAGulator, Saleae Logic, Flipper Zero (côté curiosité), PCBite, débrider UART/JTAG/SWD pour dump direct du firmware.
9. Analyse symbolique et déobfuscation
Pour les cas avancés : binaires obfusqués, contraintes complexes, recherche de chemins.
- angr (UCSB) : framework Python d'analyse symbolique. Standard académique et CTF.
- Triton (Quarkslab, France) : DBA (Dynamic Binary Analysis) + symbolic execution.
- miasm (CEA, France) : framework reverse Python, IR maison, désobfuscation.
- KLEE : symbolic execution sur LLVM IR (analyse de code source compilé).
- Manticore (Trail of Bits) : symbolic execution multi-plateformes.
- BinExport + BinDiff + BinNavi (anciennement Google) : exports inter-outils.
Ces outils sont puissants mais lourds : explosion combinatoire fréquente, nécessitent souvent du tuning manuel (concretization, path pruning).
10. Diff binaire et similarité
Comparer deux versions d'un binaire (avant/après patch) ou identifier la fonction d'origine d'un sample dérivé.
- BinDiff (Google, gratuit depuis 2016) : référence du secteur. S'intègre à IDA, Ghidra, Binary Ninja.
- Diaphora : alternative open source, fonctionne avec IDA.
- Kam1n0 (McGill University) : recherche de clones de fonctions à grande échelle.
Cas d'usage classique : analyser un patch de sécurité Microsoft pour identifier la vulnérabilité corrigée (technique du patch diffing utilisée par les groupes APT et les chercheurs).
11. Signatures, règles et détection
11.1 YARA
Le standard pour les signatures de malware. Règles textuelles combinant chaînes et conditions logiques.
rule SuspiciousLoader {
meta:
author = "Zeroday"
date = "2026-04-24"
strings:
$a = "VirtualAllocEx"
$b = "WriteProcessMemory"
$c = "CreateRemoteThread"
$magic = { 4D 5A }
condition:
$magic at 0 and all of ($a, $b, $c)
}Outils complémentaires : yarGen (génération auto), YARA-Forge (collection curée), VTRetrohunt (chasse historique sur VT).
11.2 capa et Sigma
- capa : détaillé en section 4.4.
- Sigma : standard de règles de détection SIEM-agnostiques. Pas spécifique RE, mais central en threat hunting.
11.3 ClamAV
Antivirus open source, signatures (.cvd) parseables. Utile pour générer ou valider une signature.
12. Distributions et VM clés en main
Pour ne pas perdre des journées à installer 50 outils :
- FLARE VM (Mandiant/Google) : Windows + 200 outils RE/malware analysis pré-installés via package manager Boxstarter. Mise à jour active.
- REMnux (Lenny Zeltser) : Linux Ubuntu + outils malware analysis. Mise à jour régulière.
- Tsurugi Linux : distribution DFIR/forensics italienne.
- CSI Linux, CAINE, SIFT Workstation (SANS) : alternatives DFIR.
- Kali Linux : pas spécifiquement RE mais inclut Ghidra, Radare2, gdb-peda et autres.
Recommandation : déployer REMnux (Linux) pour analyse statique + FLARE VM (Windows) pour analyse dynamique de malware Windows. C'est le combo standard.
13. Tableau récapitulatif par usage
| Cas d'usage | Outil principal | Compléments |
|---|---|---|
| Analyse statique générique | Ghidra | IDA Pro, Binary Ninja |
| Debug ring-3 Windows | x64dbg | WinDbg pour TTD |
| Debug Linux / pwn | gdb + pwndbg | gef, lldb |
| Debug kernel Windows | WinDbg | LiveKD |
| Analyse PE rapide | PEStudio + DIE + capa | PE-bear |
| Sandbox malware | CAPE / ANY.RUN | Hybrid Analysis, VT |
| Reverse Android | jadx + Frida + MobSF | apktool, Drozer, Ghidra (.so) |
| Reverse iOS | Hopper / Ghidra + Frida | Corellium, class-dump |
| Reverse firmware | binwalk + QEMU | unblob, firmadyne |
| Analyse symbolique | angr | Triton, miasm |
| Diff binaire | BinDiff | Diaphora |
| Signatures | YARA + capa | Sigma |
| Forensics mémoire | Volatility 3 | MemProcFS, KAPE |
| Distribution prête | REMnux + FLARE VM | Tsurugi |
14. Outils émergents à surveiller
L'écosystème évolue vite. Quelques projets récents qui méritent l'attention :
- Decomperson et autres décompilateurs basés sur LLM (recherche active 2024-2026, qualité encore variable mais progression rapide).
- r2ai / GhidrAI : assistants IA intégrés aux outils RE pour suggérer des renames, expliquer des fonctions.
- Tenet : tracer dynamique pour Cutter avec UI moderne.
- VARA, YARA-X : nouvelle génération de YARA en Rust (yara-x officiel par VirusTotal).
- Rzpipe, r2pipe : automation cross-process pour Rizin / Radare2.
- Eclipser, Fuzzilli (Saelo) : fuzzers spécialisés navigateurs.
- AFL++ branches récentes : nouvelles mutations, intégration LibAFL (framework modulaire).
15. FAQ
15.1 Faut-il acheter IDA Pro pour être pro ?
Non. Ghidra (gratuit, NSA) couvre 90 % des besoins en 2026, y compris décompilation de qualité professionnelle. IDA Pro reste préféré dans certaines équipes (CTI, AV) pour son écosystème mature et certains plugins commerciaux. Si l'employeur paie, IDA simplifie le quotidien ; en autonomie, Ghidra suffit largement.
15.2 Quel outil pour débuter ?
Ghidra + x64dbg (Windows) ou gdb + pwndbg (Linux). Trois outils, gratuits, couvrent statique + dynamique. Maîtriser ces trois avant d'élargir.
15.3 Frida est-il légal ?
Oui. Frida est un framework d'instrumentation légitime utilisé par des chercheurs sécurité, AppSec engineers, équipes mobile QA. Son usage devient illégal quand il est utilisé pour contourner des protections d'une application sur laquelle vous n'avez pas l'autorisation (cracking commercial, accès illicite). Cadre légal classique : votre lab, votre app en bug bounty avec scope, mission de pentest contractualisée.
15.4 Cuckoo ou CAPE en 2026 ?
CAPE. Cuckoo n'est plus activement maintenu en version « community ». CAPE inclut les fonctionnalités modernes (extraction de config malware, support pour échantillons récents, intégrations à jour).
15.5 Quel temps pour devenir productif sur Ghidra ?
Une vingtaine d'heures de pratique sérieuse pour la navigation de base et le décompilateur. 2-3 mois pour être à l'aise avec les structures, le scripting, les annotations efficaces. Comme tout outil pro, on ne l'épuise jamais.
15.6 Comment se tenir à jour sur les nouveaux outils ?
Suivre les comptes Bluesky / X de @HexRaysSA, @vector35, @malwareunicorn, @lazyparser, @evilsocket (auteur Frida historique), et la newsletter Reverse Engineering Notes. Aller à REcon au moins une fois si possible. Les sorties d'outils majeurs sont annoncées à DEF CON, Black Hat, REcon.
L'arsenal du reverser en 2026 est plus accessible que jamais : la majorité des outils essentiels (Ghidra, x64dbg, Frida, jadx, YARA, Volatility, REMnux, FLARE VM, capa) sont gratuits. La barrière n'est plus financière mais cognitive : maîtriser une dizaine d'outils en profondeur, savoir lequel sortir selon le contexte, et automatiser le répétitif. Commencer simple, élargir progressivement, et résister à la tentation du tool collector syndrome.



