Méthodes pour développeurs
REA pour la rétro-ingénierie : Skill, MCP et première analyse
Utiliser REA avec Codex, Claude Code ou Cursor : distinguer Skill et MCP, configurer la version 6.4.0, choisir les outils et préparer une analyse étayée par des preuves.
REA (Reverse Engineer Anything) relie un agent d’IA à des outils d’analyse de logiciels distribués : paquets d’applications, binaires natifs et certains comportements à l’exécution. Son Skill reverse-engineer-anything guide l’enquête ; le serveur MCP ou la CLI fournit les outils d’analyse.
Pour commencer, posez une question précise : où un champ CSV est-il transformé, ou quel processus écrit un fichier exporté ? Ce guide explique comment choisir la cible, connecter les outils et demander des éléments vérifiables.
Quand REA est utile
REA convient lorsque la réponse dépend d’un artefact compilé ou d’un comportement que les sources disponibles ne permettent pas de confirmer : ASAR Electron, fonction native ou comparaison de versions empaquetées. Si vous disposez du dépôt complet et souhaitez seulement comprendre son architecture, le Skill officiel recommande les outils habituels d’exploration de code.
Précisez l’artefact, un comportement et la preuve recherchée. « Trouve la fonction qui normalise ce champ exporté » permet de vérifier la réponse, contrairement à une demande trop large comme « explique cette application ».
Skill, MCP et CLI ont des rôles différents
| Élément | Apport | Ce que son installation ne confirme pas |
|---|---|---|
Skill reverse-engineer-anything | Consignes pour choisir la cible, réunir les preuves et signaler les inconnues | Que l’agent peut appeler les outils REA |
| Serveur MCP de REA | Outils d’analyse accessibles à un agent compatible | Que tous les moteurs sont installés |
CLI rea-agents | Accès aux méthodes depuis le terminal | Que la session de l’agent est connectée |
L’installation guidée enregistre le serveur et ajoute les instructions correspondantes. Installer uniquement le Skill fournit des consignes et des références. Si le Skill apparaît mais que les outils manquent, consultez cette distinction dans le guide d’installation.
Choisir la cible avant le moteur
| Cible | Premier résultat utile | Conditions supplémentaires |
|---|---|---|
| Répertoire JavaScript / Electron ou ASAR | Modules, imports et frontières entre processus | Node.js et npm compatibles ; aucun moteur natif |
| Exécutable natif | Assembleur, pseudocode, appelants et références | Configuration compatible de Hopper, Ghidra ou IDA |
| Comportement web | Page, scripts et réseau | Navigateur de la famille Chrome et autorisations adaptées |
| Code d’un APK Android | Classes, méthodes et références | JADX et JDK complet ; vérifier le système hôte |
Consultez la matrice des cibles et votre version : tous les formats ne fonctionnent pas sur chaque machine. L’analyse statique JavaScript lit les fichiers sans lancer l’application. Une capture à l’exécution peut lancer la cible ou interagir avec elle ; délimitez-la séparément.
Une analyse locale ne rend pas toute la conversation hors ligne : les résultats peuvent être transmis au fournisseur du modèle. Utilisez des logiciels et données que vous êtes autorisé à examiner, avec une configuration adaptée à ces informations.
Configurer Codex, Claude Code ou Cursor
Lors de notre vérification, la version npm publiée était 6.4.0. Elle exige Node.js 22.19 ou supérieur dans la branche 22.x, 24.11 ou supérieur dans 24.x, ou 26+. Le numéro 39 des métadonnées du Skill est distinct. La branche main peut décrire des fonctions plus récentes que la version npm. Paquet · Limites entre versions
Pour cibler Codex, examinez d’abord les modifications prévues :
npx rea-agents@6.4.0 setup --client codex --dry-run --json
Même en simulation, npx peut télécharger et exécuter le paquet REA. La simulation évite d’appliquer les modifications de configuration. Vérifiez les destinations, sauvegardes et remplacements du Skill, puis appliquez si cela convient :
npx rea-agents@6.4.0 setup --client codex
Remplacez codex par claude_code ou cursor selon le client, puis redémarrez ou reconnectez la session. Si les outils manquent, utilisez npx rea-agents@6.4.0 doctor --client codex --json pour vérifier configuration et prérequis. Contrôlez aussi les outils disponibles dans la session réelle. Une connexion fonctionnelle ne nécessite pas une nouvelle installation à chaque tâche.
Pour une analyse statique JavaScript en CLI, remplacez le chemin par votre répertoire ou ASAR et conservez le résultat :
npx rea-agents@6.4.0 analyze-javascript-application /absolute/path/to/app --json > app-evidence.json
Sous Windows, un chemin comme "D:/apps/example" convient. Si le résultat est volumineux, gardez le fichier Evidence et consultez des vues ciblées plutôt que de tout placer dans le contexte du modèle. Guide CLI
Préparer une première enquête vérifiable
Commencez avec votre propre application Electron empaquetée et une fonction d’export. Gardez une copie et notez sa version ou son empreinte. Voici un modèle de demande original, pas le compte rendu d’un test que nous aurions exécuté :
Cible : [chemin absolu du paquet de mon application]
Question : où le champ CSV exporté « status » est-il normalisé ?
Commencer par l’analyse statique. Suivre le point d’entrée,
le passage IPC s’il existe, puis l’écriture. Citer un emplacement
de fichier ou une adresse de fonction pour chaque conclusion.
Séparer faits observés, déductions et questions ouvertes.
Ne pas lancer l’application ni modifier de fichier sans demander.
Livrer : un chemin d’appels court, un tableau de preuves et un
test proposé avec valeur vide, valeur inconnue et texte Unicode.
Vérifiez le parcours, les preuves et un test susceptible de réfuter l’explication. Une narration plausible sans emplacement précis est incomplète. Un parcours statique sans observation à l’exécution doit rester présenté comme une déduction statique.
Si vous réimplémentez le comportement dans votre produit, testez cette implémentation séparément. Comprendre un algorithme ne prouve pas qu’un remplacement généré couvre tous les cas limites.
Ce que montrent les exemples publiés
L’étude Notion suit une requête de presse-papiers entre processus Electron. L’exemple DX-Ball examine un calcul de panoramique sonore et documente les vérifications de sa reconstruction.
Demandez les passages entre composants et les calculs vérifiables derrière une fonction. Ces exemples viennent du projet et concernent des cibles et versions précises : ce ne sont ni des essais OpenAgentSkill ni un taux de réussite universel. Le pseudocode reste un point de départ à confronter aux appelants, aux instructions et aux sorties observées.
Questions avant d’adopter REA
REA est-il gratuit ?
Le dépôt utilise la licence MIT. L’usage des modèles et certains fournisseurs d’analyse peuvent avoir leurs propres coûts. Toutes les configurations ne sont donc pas forcément gratuites.
Fonctionne-t-il sous Windows ?
Vérifiez la combinaison cible et fournisseur. JavaScript et Ghidra natif ont des prérequis différents ; la documentation présente Ghidra sous Windows comme expérimental. Installer le paquet ne prouve pas une compatibilité universelle.
Peut-il récupérer le code source original ?
L’analyse native fournit du pseudocode et de l’assembleur, sans nécessairement préserver les identifiants, commentaires ou la structure du projet. Demandez de distinguer ce qui est récupéré de ce qui est déduit.
Pourquoi les outils manquent-ils alors que le Skill est installé ?
Installation du Skill, enregistrement MCP et connexion active sont trois états distincts. Vérifiez le client, redémarrez et inspectez les outils annoncés. Ajoutez un moteur seulement si la cible choisie en a besoin.
Sources et périmètre éditorial
Sources vérifiées le 12 octobre 2026 (Asia/Shanghai) au commit 23d50ea3bec186b4459d36c04854a92276accdf1, avec les métadonnées npm 6.4.0. GitHub affichait environ 94 000 étoiles : un signe d’attention, pas une mesure de qualité d’analyse.
Sources primaires : présentation, Skill officiel, installation et versions, CLI et Evidence, ainsi que les études citées. Ce guide indépendant repose sur l’examen des sources. Nous n’avons pas exécuté REA ni reproduit les exemples pour cet article. Une publication par le propriétaire du site n’est pas un badge de validation à l’exécution.