Guide non officiel. Sans lien avec Meta.

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.

En bref : REA est gratuit (MIT) et s’installe en une seule commande, npx rea-agents setup. L’analyse statique JavaScript, Electron et .NET fonctionne d’emblée ; les binaires natifs nécessitent Hopper, Ghidra ou IDA comme moteur sous-jacent. C’est une couche qui permet à votre agent d’utiliser ces outils, pas un remplaçant.

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.

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.

  1. Vous posez à votre agent (Claude Code, Cursor, Codex) une question sur une app ou un fichier de votre machine.
  2. L’agent appelle les outils de REA via MCP.
  3. 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.
  4. REA renvoie du code, des références, des preuves et les zones d’ombre.
  5. 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

  1. Lancez npx rea-agents setup.
  2. 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.
  3. Redémarrez votre agent pour qu’il charge le nouveau serveur MCP.
  4. 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 setup

Commandes 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.

Exemple du README (tout agent)
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.
Claude Code : tracer une fonctionnalité Electron
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.
Cursor : apprendre d’une bibliothèque fermée
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.
Codex : déboguer un vieux build
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 --json

Remplacez 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

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.

Reverse Engineer Any App using REA (41k Stars)
Reverse Engineer Any App using REA (41k Stars) · Prompt Engineer 48
How To Use REA To Clone Any Software In Minutes
How To Use REA To Clone Any Software In Minutes · Eric Tech

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.

REAGhidraHopper
Ce que c’estServeur MCP + CLI qui relie les agents IA aux outils d’analyseSuite de rétro-ingénierie de la NSADésassembleur et décompilateur
Qui le piloteVotre agent IA, ou vous dans le terminalVous, via son interface graphique ou des scriptsVous, via son interface graphique ou des scripts
PrixGratuit, licence MITGratuit, Apache 2.0Commercial, avec une démo gratuite limitée
PlateformesmacOS, Linux ; Windows pour les agents, JS/.NET et Ghidra expérimentalWindows, macOS, Linux (JDK requis)macOS, Linux
CiblesNatif, Electron/JS, sites web, HAR, .NET, Android, firmware et plusBinaires natifs pour de nombreux CPUBinaires natifs (Mach-O, ELF, PE)
Idéal pourPoser des questions et obtenir des réponses étayéesAnalyse manuelle approfondie, scriptingAnalyse 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

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.