Dernière mise à jour:
Reverse Engineer Anything (REA) : le guide complet
Reverse Engineer Anything (REA) est un serveur MCP et un outil en ligne de commande open source qui permet aux agents de code IA comme Claude Code, Cursor et Codex d’inspecter des binaires natifs, des apps Electron et des sites web sans leur code source. Vous posez une question en langage naturel, REA pilote les outils d’analyse de votre machine, et votre agent récupère du code, des références et des preuves qu’il peut expliquer ou réutiliser.
Qu’est-ce que Reverse Engineer Anything (REA) ?
REA, pour Reverse Engineer Anything, est un projet de morluto sur GitHub. Son slogan : « One MCP for reverse engineering across binaries, applications, and runtime behavior » (un seul MCP pour la rétro-ingénierie des binaires, des applications et du comportement à l’exécution). Concrètement, il fournit à votre agent de code un ensemble d’outils de rétro-ingénierie : vous lui montrez une app dont une fonctionnalité vous intéresse et vous lui demandez comment elle marche. La version npm actuelle, rea-agents 6.4.0, est sous licence MIT, et l’analyse s’exécute localement sur votre machine.
- Inspecter sans code source. Les binaires natifs ressortent sous forme de pseudo-code, d’assembleur, de chaînes, de symboles et de références d’appel. Les apps JavaScript et Electron ressortent sous forme de modules, d’imports, de source maps, de routes et d’IPC.
- Des preuves à chaque réponse. Chaque résultat indique d’où il vient et ce qui reste inconnu, pour que l’agent (et vous) puissiez vérifier une affirmation avant de vous y fier.
- Un outil, de nombreuses cibles. Au-delà des binaires et d’Electron, REA lit des sites web, des captures réseau HAR enregistrées, des assemblies .NET, des APK Android, des binaires Go, du WASM, des firmwares et plus encore, via le même MCP et la même CLI.
Source: GitHub : morluto/rea (README)
Source: rea.tools : site officiel
Comment fonctionne REA AI : agents, MCP, Ghidra et Hopper
REA n’est pas lui-même un désassembleur. C’est un serveur MCP (Model Context Protocol) placé entre votre agent et les vrais moteurs d’analyse. Quand vous interrogez Claude Code ou Cursor sur un binaire, l’agent appelle les outils de REA ; REA lance Hopper, Ghidra ou IDA (ou son propre analyseur JavaScript, ou un navigateur de la famille Chrome pour les sites web), exécute l’analyse et renvoie des résultats structurés. La commande de terminal rea utilise les mêmes workflows.
- Vous posez à votre agent (Claude Code, Cursor, Codex) une question sur une app ou un fichier de votre machine.
- L’agent appelle les outils de REA via MCP.
- REA lance localement le bon moteur : Hopper, Ghidra ou IDA pour le code natif, son analyseur JS pour Electron, un navigateur pour les sites web.
- REA renvoie du code, des références, des preuves et les zones d’ombre.
- L’agent explique le comportement, ou écrit et teste une version pour votre projet.
Le fournisseur du modèle de votre agent voit toujours les résultats d’outils qu’il reçoit, selon sa propre politique de données. REA lui-même n’envoie pas votre cible en ligne.
Source: GitHub : morluto/rea (README)
Source: Documentation REA : installation et configuration
Guide d’installation REA GitHub : prérequis et commandes
- Node.js 22.x (22.19 ou plus récent), 24.x (24.11 ou plus récent) ou 26+, plus npm.
- Pour les binaires natifs : Hopper, Ghidra ou IDA. Le setup peut installer Hopper pour vous après votre accord ; Ghidra et IDA doivent déjà être installés.
- Pour les sites web : un navigateur de la famille Chrome. Pour JavaScript, Electron et .NET : rien de plus.
- Socle pour l’hôte natif : macOS 12+ ou un Linux récent (Ubuntu 24.04+, Fedora 41+, Arch et quelques autres). Le support de Ghidra sous Windows est expérimental.
- Lancez npx rea-agents setup.
- Choisissez vos agents dans la liste, vérifiez les chemins de configuration exacts qui seront modifiés, puis validez. Les configurations existantes sont sauvegardées au préalable.
- Redémarrez votre agent pour qu’il charge le nouveau serveur MCP.
- Si vous le souhaitez, installez la commande rea globalement pour l’utiliser dans le terminal, et lancez rea update de temps en temps : le projet publie souvent des correctifs.
# 1) Register REA with your agents (Claude Code, Codex, Cursor, Gemini CLI ...)
npx rea-agents setup
# 2) Optional: install the rea command for regular terminal use
npm install --global rea-agents
rea --help
# 3) Keep it current (global install / npx setup)
rea update
npx rea-agents@latest setupCommandes copiées du README de github.com/morluto/rea. Si vous utilisez Bun, remplacez npx rea-agents@latest par bunx rea-agents@latest.
Source: GitHub : morluto/rea (README)
Source: Documentation REA : installation et configuration
Source: npm : rea-agents
Utiliser REA avec Claude Code, Cursor et Codex
Le setup enregistre le même serveur MCP dans chaque agent et installe à côté les instructions de workflow de REA (la skill « reverse-engineer-anything »). Après un redémarrage, il suffit de demander en langage naturel. Le premier prompt ci-dessous est l’exemple du README ; les autres sont les nôtres, un par agent.
- Claude Code. Sélectionnez Claude Code dans le setup (client ID claude_code), redémarrez, puis posez votre question dans la session du terminal. Claude Code est à l’aise avec les traçages longs en plusieurs étapes : demandez-lui de montrer ses preuves à chaque étape.
- Cursor. Sélectionnez Cursor (cursor). REA apparaît parmi les outils MCP de Cursor ; utilisez le mode Agent pour qu’il puisse les appeler puis modifier votre projet.
- Codex. Sélectionnez Codex (codex). Codex est efficace pour les tâches du type « trouve-le, puis réimplémente-le », où le résultat est un patch pour votre propre dépôt.
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.Utilise REA sur /Applications/Example.app. Trouve comment fonctionne la commande « copy as Markdown » : pars du renderer, suis-la à travers le preload et l’IPC jusqu’au processus principal, et montre le fichier et la fonction à chaque étape. Liste tout ce que tu n’as pas pu confirmer.Utilise REA pour inspecter ./vendor/libexample.dylib. Trouve la fonction qui parse le fichier de configuration, donne-moi son pseudo-code et les chaînes qu’elle référence, puis écris un parser TypeScript équivalent dans src/config/ avec des tests unitaires.J’ai perdu le code source de ./legacy/report.exe (ma propre app, 2014). Utilise REA avec Ghidra pour trouver où il formate les dates dans l’export CSV et explique pourquoi il écrit les années sur 2 chiffres.Source: GitHub : morluto/rea (README)
Source: Documentation REA : installation et configuration
Essayez d’abord REA depuis le terminal
Vous pouvez tester REA sans aucun agent. Cette commande inspecte le dossier extrait d’une app JavaScript/Electron ou un ASAR et affiche les modules, imports et frontières Electron trouvés, avec leurs preuves. Aucun moteur natif n’est nécessaire.
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --jsonRemplacez le chemin par celui de votre cible, par exemple "D:/apps/example" sous Windows.
Source: GitHub : morluto/rea (README)
Cas d’usage de REA : la rétro-ingénierie de tout, des apps Electron aux malwares
- Rétro-ingénierie d’apps Electron. Les apps Electron embarquent leur JavaScript dans une archive ASAR. REA récupère modules, routes et canaux IPC ; c’est ainsi que son étude de cas sur Notion trace le pont du presse-papiers du renderer jusqu’au processus principal.
- Analyser des API fermées (« API anything »). Chargez une capture HAR enregistrée ou laissez REA observer un site web dans un navigateur : il liste requêtes, réponses et payloads avec les scripts qui les envoient. C’est le moyen le plus rapide de documenter une API non documentée que vous avez le droit d’utiliser et d’écrire un client pour elle.
- Analyse de malwares et d’incidents. La politique d’usage responsable de REA cite l’analyse de malwares et d’incidents ainsi que la recherche en sécurité parmi les usages prévus. Travaillez dans une VM isolée : l’inspection statique lit les fichiers sans les exécuter, mais la capture à l’exécution lance bel et bien la cible.
- Déboguer vos propres vieux programmes. Vous avez perdu le code source d’un programme que vous avez écrit, ou vous devez comprendre pourquoi un ancien build se comporte différemment ? L’étude de cas DX-Ball reconstruit en C une fonction qui reproduit les 63 octets compilés de l’original.
Source: Études de cas REA (DX-Ball, Notion, TH04)
Source: REA : avertissement sur l’usage responsable
Tutoriels vidéo REA
Deux présentations de Reverse Engineer Anything par des créateurs YouTube (réalisées ni par le projet REA ni par nous). Les vidéos ne se chargent depuis YouTube que lorsque vous cliquez sur lecture.


REA vs Ghidra vs Hopper
Ce ne sont pas vraiment des concurrents. Ghidra et Hopper sont les moteurs qui désassemblent et décompilent. Reverse Engineer Anything est la couche agent au-dessus, qui les pilote et transforme leur sortie en preuves exploitables par votre agent.
| REA | Ghidra | Hopper | |
|---|---|---|---|
| Ce que c’est | Serveur MCP + CLI qui relie les agents IA aux outils d’analyse | Suite de rétro-ingénierie de la NSA | Désassembleur et décompilateur |
| Qui le pilote | Votre agent IA, ou vous dans le terminal | Vous, via son interface graphique ou des scripts | Vous, via son interface graphique ou des scripts |
| Prix | Gratuit, licence MIT | Gratuit, Apache 2.0 | Commercial, avec une démo gratuite limitée |
| Plateformes | macOS, Linux ; Windows pour les agents, JS/.NET et Ghidra expérimental | Windows, macOS, Linux (JDK requis) | macOS, Linux |
| Cibles | Natif, Electron/JS, sites web, HAR, .NET, Android, firmware et plus | Binaires natifs pour de nombreux CPU | Binaires natifs (Mach-O, ELF, PE) |
| Idéal pour | Poser des questions et obtenir des réponses étayées | Analyse manuelle approfondie, scripting | Analyse manuelle rapide sur Mac |
IDA est un troisième moteur pris en charge. Les moteurs commerciaux nécessitent votre propre licence valide ; REA n’en fournit pas.
Source: GitHub : morluto/rea (README)
Source: GitHub : NationalSecurityAgency/ghidra
Source: Hopper Disassembler
La rétro-ingénierie est-elle légale ?
Souvent oui, mais cela dépend de l’endroit où vous êtes, de ce que vous analysez et de la licence que vous avez acceptée. De nombreux pays l’autorisent pour l’interopérabilité, la recherche en sécurité, l’enseignement et la correction de logiciels qui vous appartiennent ; le DMCA américain prévoit une exception pour l’interopérabilité et la directive européenne sur les programmes d’ordinateur autorise la décompilation à des fins d’interopérabilité sous certaines conditions. Une licence logicielle ou des conditions d’utilisation peuvent malgré tout l’interdire.
L’avertissement de REA précise qu’il est destiné à la recherche licite, à l’enseignement, à l’interopérabilité, à la préservation de logiciels et à l’analyse de logiciels qui vous appartiennent ou que vous êtes autorisé à examiner. Le projet n’aidera pas à contourner des DRM, des vérifications de licence ou des anti-cheats, à créer des triches pour les jeux, à contourner l’authentification de systèmes que vous n’êtes pas autorisé à tester, ni à copier du code ou des ressources propriétaires.
Il s’agit d’informations générales, pas d’un conseil juridique. Si vous comptez publier vos découvertes ou distribuer du code basé sur le logiciel de quelqu’un d’autre, consultez d’abord un avocat.
Source: REA : avertissement sur l’usage responsable
FAQ
REA est-il gratuit ?
Oui. REA est open source sous licence MIT, et le paquet npm rea-agents est gratuit. Vous ne payez que ce qui l’entoure : l’abonnement ou l’usage API de votre agent IA, et une licence Hopper ou IDA si vous utilisez ces moteurs. Ghidra est gratuit.
Qu’est-ce que la REA skill ?
La skill reverse-engineer-anything est un ensemble d’instructions qui indique à votre agent quand et comment utiliser REA. npx rea-agents setup l’installe avec le serveur MCP. Vous pouvez aussi installer uniquement la skill avec npx skills add morluto/rea --skill reverse-engineer-anything, mais cela n’enregistre pas les outils MCP.
REA fonctionne-t-il sur Mac/Windows ?
macOS 12+ et les distributions Linux récentes sont les principaux hôtes pris en charge, avec Hopper, Ghidra ou IDA pour l’analyse native. Sous Windows, le setup peut configurer vos agents et l’analyse statique JavaScript, Electron et .NET fonctionne ; le support de Ghidra est expérimental et Hopper n’est pas disponible.
Qu’est-ce que REA AI ?
On parle de « REA AI » pour désigner REA (Reverse Engineer Anything), l’outil qui donne aux agents de code IA des capacités de rétro-ingénierie. REA n’a pas de modèle propre : l’IA, c’est votre agent (Claude, GPT, Gemini, etc.), et REA fournit les outils et les preuves.
REA ou serveurs MCP ?
REA est un serveur MCP. Par rapport aux serveurs MCP mono-outil, comme une passerelle dédiée à Ghidra, il regroupe plusieurs moteurs (Hopper, Ghidra, IDA, un navigateur, des analyseurs JS, .NET et Android) derrière une seule installation, renvoie des preuves avec chaque résultat et fournit les instructions d’agent qui vont avec.
Où se trouve le dépôt GitHub de Reverse Engineer Anything ?
Sur github.com/morluto/rea. Le paquet npm installé par le README est rea-agents, et les guides et études de cas se trouvent sur rea.tools.
Guide indépendant, sans lien avec le projet REA, morluto, Anthropic, Cursor, OpenAI, la NSA ou Hopper. Les informations proviennent du README de morluto/rea, de la documentation d’installation et de l’avertissement (version 6.4.0), vérifiés le 12 octobre 2026. REA évolue vite ; consultez le README avant d’installer.