1. Préparer votre ordinateur
Utilisez l’ordinateur où se trouvent les fichiers à étudier. Un agent de programmation local peut lire ces fichiers et exécuter des outils pour vous.
Comment ouvrir un terminal?
- Windows: ouvrez le menu Démarrer, tapez PowerShell et appuyez sur Entrée.
- macOS : appuyez sur ⌘ Space, saisissez Terminal et appuyez sur Entrée.
- Linux: presse Ctrl Alt T sur la plupart des ordinateurs de bureau.
Collez une commande avec Ctrl V (macOS: ⌘ V; Linux terminaux: Ctrl Shift V), puis appuyez sur Entrée.
Les commandes se saisissent dans le terminal. Les instructions intitulées « Votre agent de programmation » se saisissent dans le chat de l’agent.
Vous aurez besoin de Node.js 22 (22.19+), 24 (24.11+) ou 26+. npm est fourni avec Node.js.
Vous n'avez pas Node.js, ou vous n'êtes pas sûr?
Ouvrez un terminal et vérifiez:
node -v
npm -v
Si node -v affiche v22.19+, v24.11+ ou v26+, vous êtes prêt. S’il affiche une version plus ancienne ou "not recognized" / "command not found", installez Node.js 24 LTS :
Windows (PowerShell)
winget install --exact --id OpenJS.NodeJS.LTS
Tapez Y si on vous demande d'accepter les conditions. Fermez PowerShell, ouvrez-le à nouveau, puis exécutez node -v.
Téléchargez le programme d’installation de Node.js si winget n’est pas disponible.
Si PowerShell affiche ensuite "running scripts is disabled on this system" lorsque vous exécutez npx, utilisez plutôt npx.cmd. Pour npm, utilisez npm.cmd :
npx.cmd rea-agents@latest setup
macOS
Pour une première installation, téléchargez le programme d’installation de Node.js 24 LTS pour macOS (.pkg), ouvrez-le et suivez ses instructions. Rouvrez ensuite Terminal.
Vous utilisez déjà Homebrew ?
brew install node
Linux
Installez d’abord curl et unzip s’ils manquent. Sur Debian ou Ubuntu, exécutez sudo apt install curl unzip ; sur les autres distributions, utilisez votre gestionnaire de paquets.
curl -fsSL https://fnm.vercel.app/install | bash
Fermez le terminal, rouvrez-le, puis exécutez :
fnm install 24
fnm use 24
fnm default 24
Votre propre distribution nodejs le paquet est souvent plus ancien que 22.19, alors vérifiez node -v si vous l'utilisez à la place.
Vous préférez un installateur régulier? Téléchargez la version LTS à partir de nodejs.org.
Créer un dossier de travail pour votre agent
Dans le terminal, créez un dossier pour l’exercice, puis placez-vous dedans :
mkdir rea-work
cd rea-work
Gardez ce terminal ouvert pour l’étape suivante. Si vous avez déjà un dossier de travail, ouvrez-le plutôt.
2. Choisir un agent de programmation
Votre agent est l’IA avec laquelle vous discutez. REA lui fournit les outils d’inspection. Choisissez une application cliente ci-dessous ; ouvrez ses instructions si vous ne l’avez jamais utilisée.
Codex · utiliser votre compte ChatGPT
Installez Codex avec la commande correspondant à votre système d’exploitation :
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Après l’installation, rouvrez le terminal et revenez dans le dossier de travail. Lancez ensuite Codex :
codex
Choisissez « Sign in with ChatGPT », connectez-vous dans le navigateur, puis revenez au terminal. Lorsque la zone de saisie apparaît, passez à l’étape 3.
Cursor, Windsurf ou VS Code · utiliser un éditeur
- Installez l’éditeur pour votre système d’exploitation et connectez-vous.
- Ouvrez le dossier rea-work créé à l’étape 1.
- Ouvrez le chat IA et choisissez le mode Agent. Dans Windsurf ou Devin Desktop, ouvrez le chat de l’agent ; dans VS Code, configurez d’abord GitHub Copilot.
Configuration de Cursor · Configuration de Windsurf / Devin Desktop · Configuration de VS Code et Copilot
Claude Code · utiliser votre compte Claude
Installez-le avec la commande correspondant à votre système d’exploitation :
irm https://claude.ai/install.ps1 | iex
curl -fsSL https://claude.ai/install.sh | bash
Rouvrez le terminal, revenez dans votre dossier de travail et exécutez claude. Suivez les instructions de connexion. L’accès nécessite un abonnement Claude éligible ou un compte API configuré.
Claude Desktop · utiliser un chat de bureau
Installez Claude Desktop sur Windows ou macOS et connectez-vous. Quittez-le complètement, puis exécutez cette commande dans un terminal ouvert en dehors de Claude :
npx rea-agents@latest setup --client claude_desktop
Examinez et approuvez le plan, rouvrez Claude, puis vérifiez la connexion à l’étape 3.
Télécharger Claude Desktop · Détails de connexion de Claude Desktop
OpenCode · choisir un modèle d’IA
npm install --global opencode-ai
Exécutez opencode dans votre dossier de travail. Dans son chat, utilisez /connect pour connecter votre compte de modèles, puis choisissez un modèle.
Tous les clients pris en charge et leurs identifiants de configuration
La version npm 6.4.0 prend en charge les clients ci-dessous. Utilisez l’identifiant avec --client pour choisir explicitement un client.
| Client | Identifiant de configuration |
|---|---|
| Claude Code | claude_code |
| Claude Desktop | claude_desktop |
| Codex | codex |
| Cursor | cursor |
| Gemini CLI | gemini_cli |
| Windsurf | windsurf |
| Devin | devin |
| OpenCode | opencode |
| Antigravity | antigravity |
| GitHub Copilot CLI | copilot_cli |
| Command Code | commandcode |
| Qwen Code | qwen_code |
| VS Code | vscode |
| Grok Build | grok_build |
| OMP | omp |
| Pi | pi |
| Hermes | hermes |
Qoder (qoder), Factory Droid (droid), Trae (trae), ZCode (zcode) et DeepSeek Harness (dsh) sont disponibles sur la branche main du dépôt. Utilisez une compilation du code source ou une version publiée contenant ces intégrations.
Configuration des clients et dépannage · Disponibilité dans les versions publiées
Grok Bot · connecter sur son ordinateur hébergé
Dans le chat de Grok Bot, demandez-lui d’ajouter un serveur MCP personnalisé nommé rea en exécutant cette commande sur l’ordinateur du bot :
npx -y rea-agents@6.4.0 mcp
3. Connecter REA
Copiez ce prompt dans votre agent de programmation :
Installe REA et connecte-le à cet agent de programmation avec npx rea-agents@latest setup. Présente-moi d’abord les changements prévus et attends mon accord. Vérifie ensuite l’installation.
Ou exécutez la configuration vous-même
npx rea-agents@latest setup
Pour un client précis, ajoutez son identifiant de configuration :
npx rea-agents@latest setup --client codex
Si npm demande à télécharger le paquet, saisissez y et appuyez sur Entrée. Dans la liste des clients de REA, déplacez-vous avec les flèches, sélectionnez votre client avec Espace et continuez avec Entrée.
Choisissez votre client et consultez le plan d'installation. REA ajoute sa connexion MCP et la compétence d'investigation correspondante, en conservant une sauvegarde de la configuration existante. Il demande avant d'appliquer les modifications.
MCP est la connexion qui permet à votre agent d’appeler REA. La skill lui fournit une méthode pour étudier un logiciel.
Pour le premier exercice, vous pouvez ignorer l’installation facultative de Hopper. Redémarrez votre client une fois la configuration terminée.
Comment puis-je redémarrer mon client?
Applications de bureau (Claude Bureau, Cursor, Windsurf, VS Code): quittez complètement l'application, puis ouvrez-la à nouveau. Fermer la fenêtre ne suffit pas. Sur macOS presse ⌘ Q; sur Windows, quittez également l'icône de la barre d'état s'il y en a une.
Agents terminaux (Claude Code, Codex, Gemini CLI): quittez la session et recommencez-la.
npx -y rea-agents@latest doctor --client codex --json
Remplacez codex par l’identifiant de configuration de votre client. Une vérification réussie indique "healthy": true. Demandez ensuite à votre agent :
Vérifie que REA est connecté et montre-moi les outils REA que tu peux utiliser.
4. Essayer votre première investigation
L'exemple est une application Electron à six fichiers avec un Exporter des notes bouton. Votre agent peut inspecter son code sans installer ni lancer Electron .
Télécharger https://rea.tools/examples/notes-example.zip dans un nouveau dossier d'exemple et décompressez-le. Utilisez REA pour savoir ce qui se passe lorsque je clique sur Exporter des notes. Montrer où notes.csv est écrit, les champs qu'il contient, ainsi que les fichiers et lignes pertinents.
Recherchez une brève explication avec des références de fichier et de ligne:
Le bouton envoie un
notes:exportmessage. Le processus principal formate les notes en CSV et écritnotes.csvdans le dossier Téléchargements de l'utilisateur. Les colonnes sontidettitle.
Vérifier une prédiction dans l’exercice guidé →
Télécharger vous-même l’exemple ou utiliser votre propre application
Si votre agent ne peut pas télécharger de fichiers, décompressez cette archive vous-même. Donnez-lui le chemin vers le notes-example dossier et la même question d'exportation.
Utilise REA pour inspecter l’application située à
/absolute/path/to/app. Trouve comment elle exporte les données et montre les fichiers et lignes pertinents.
Comment puis-je obtenir le chemin d'accès complet d'un dossier?
- Windows: dans l'Explorateur de fichiers, cliquez avec le bouton droit sur le dossier et choisissez Copier comme chemin. Sur Windows 10, maintenez la touche Maj enfoncée tout en cliquant avec le bouton droit.
- macOS: dans le Finder, cliquez avec le bouton droit sur le dossier, maintenez l'option enfoncée et choisissez Copiez " ... " comme chemin d'accès.
- Tout système: faites glisser le dossier dans une fenêtre de terminal et son chemin apparaît.
Dans un terminal, mettez des guillemets autour d'un chemin qui contient des espaces.
Analyser un autre type de logiciel
Choisissez la section correspondant à votre cible. Un fournisseur d’analyse est l’outil local que REA utilise pour ce type de logiciel.
Exécutables et bibliothèques natifs · Hopper, Ghidra ou IDA
Installez un outil d’analyse sur l’ordinateur où REA s’exécute. L’hôte désigne votre système d’exploitation ; la cible est le programme à inspecter.
| Outil d’analyse | Windows | macOS | Linux |
|---|---|---|---|
| Hopper | Non disponible | 12+ | Distributions prises en charge |
| Ghidra | x64 · expérimental | x64 / arm64 | x64 / arm64 |
| IDA | Profils vérifiés | Profil sans interface graphique vérifié | Voir le guide du fournisseur |
Hopper · laisser la configuration l’installer ou le connecter
Connectez Hopper sur macOS ou Linux. Exécutez la commande d'installation ci-dessus; il détecte une installation existante ou propose un plan d'installation pour votre approbation.
Choisissez Hopper pendant la configuration et examinez son plan d’installation distinct. Sur macOS, choisissez le mode démo ou activez votre licence à la première ouverture de Hopper. Sur Linux, la configuration prépare la démo prise en charge et son affichage privé.
Hôtes Linux : Ubuntu 24.04+, Fedora 41+, Nobara 44+, Arch Linux, CachyOS ou Omarchy. Hopper est un logiciel commercial ; sa démo a des limites définies par l’éditeur.
npx -y rea-agents@latest doctor --provider hopper --json
Si macOS demande l’autorisation d’automatisation, autorisez l’application qui lance REA dans Réglages Système → Confidentialité et sécurité → Automatisation, puis réessayez.
Ghidra · installer l’outil d’analyse gratuit et Java
- Installez un JDK 64 bits, version 21 ou ultérieure, comprenant le compilateur Java. Choisissez le paquet correspondant à l’architecture de votre ordinateur.
-
Téléchargez Ghidra 12.1.4 dans la liste Assets de la version publiée et extrayez l’archive
ghidra_…_PUBLIC_….zip. Choisissez l’archive de la version, pas « Source code ». -
Repérez le dossier extrait contenant
ghidraRunoughidraRun.bat. Utilisez ce dossier pourGHIDRA_INSTALL_DIR.
Télécharger un JDK · Télécharger Ghidra 12.1.4
Vérifiez Java. La première commande affiche java.home ; utilisez ce dossier pour JAVA_HOME. La seconde confirme que le compilateur est installé :
java -XshowSettings:properties -version
javac -version
Connectez le modèle Ghidra sur le modèle Windows
Windows x64 offre une prise en charge expérimentale en lecture seule des applications et DLL natives x86 et x64 au format PE sur des disques NTFS locaux fixes. Utilisez une installation existante de Ghidra 12.1.x et un JDK 64 bits, version 21 ou ultérieure :
$env:GHIDRA_INSTALL_DIR = "C:/tools/ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:/tools/jdk-21"
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
Remplacez les deux chemins par vos installations, puis passez en revue le plan de configuration.
Connectez votre installation de Ghidra
export GHIDRA_INSTALL_DIR="/absolute/path/to/ghidra_12.1.4_PUBLIC"
export JAVA_HOME="/absolute/path/to/jdk-21"
Remplacez les deux chemins par ceux de vos installations existantes. Pour une nouvelle installation sur macOS ou Linux arm64, compilez le décompilateur natif pour votre ordinateur avant de continuer.
Compiler le décompilateur natif de Ghidra
Sur macOS, la compilation nécessite Xcode Command Line Tools, make et bison. Utilisez le guide correspondant à votre ordinateur :
Vérifiez ensuite Ghidra et enregistrez ses chemins pour votre client :
npx -y rea-agents@latest doctor --provider ghidra --json
npx rea-agents@latest setup
Exécutez ces commandes dans la même session de terminal. Après avoir défini les chemins, relancez la configuration, approuvez la configuration du client mise à jour, puis redémarrez votre agent.
Configuration de Ghidra et exigences d’architecture · Guide de Ghidra sur Windows
IDA · connecter une installation existante
Suivez le guide du fournisseur IDA pour préparer l’enregistrement MCP du serveur auquel REA se connecte. Choisissez une interface graphique attachée où le binaire original est ouvert, ou un superviseur sans interface graphique qui ouvre une base de données privée.
Les profils vérifiés comprennent l’ancienne interface graphique et le superviseur sans interface graphique sur Windows, ainsi qu’un superviseur sans interface graphique sur macOS arm64 avec IDA Professional 9.1. Le pont natif facultatif vers l’interface graphique a ses propres exigences de version et de plateforme.
Le profil sans interface de macOS et le pont GUI natif nécessitent une compilation de REA depuis les sources ou une version contenant ces changements. npm 6.4.0 ne les inclut pas.
Dans le répertoire des sources déjà compilées, exécutez node scripts/rea.mjs doctor --provider ida --json et node scripts/rea.mjs setup à la place des commandes npx ci-dessous.
Préparer le fichier d’enregistrement d’IDA
Installez et configurez le serveur auquel REA se connecte à l’aide du guide IDA ci-dessous. Enregistrez ensuite sa configuration d’enregistrement fonctionnelle sous le nom ida-mcp.json dans un éditeur de texte. Sur Windows, choisissez « Tous les fichiers » lors de l’enregistrement dans le Bloc-notes pour éviter l’ajout de .txt.
Pour un superviseur sans interface graphique qui fournit idb_open, idb_list et idb_close, le fichier peut ressembler à ceci :
{
"command": "idalib-mcp",
"args": ["--stdio", "--max-workers", "1"],
"mode": "headless"
}
Pour un ancien serveur d’interface graphique attachée en version 1.4.0, copiez dans le fichier les valeurs fonctionnelles de command, args et, si nécessaire, env. Ouvrez le binaire original dans IDA et lancez le plugin de ce serveur avant de demander à REA de l’inspecter.
$env:REA_IDA_MCP_CONFIG = "C:/analysis/ida-mcp.json"
$env:REA_ANALYSIS_PROVIDER = "ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
export REA_IDA_MCP_CONFIG="/absolute/path/to/ida-mcp.json"
export REA_ANALYSIS_PROVIDER="ida"
npx -y rea-agents@latest doctor --provider ida --json
npx rea-agents@latest setup
Utilisez le fichier JSON d’enregistrement préparé avec le guide du fournisseur, puis relancez la configuration et redémarrez votre agent.
Profils IDA, exemples d’enregistrement et plateformes vérifiées
Une fois la connexion établie, donnez à votre agent le chemin complet de l’exécutable original et indiquez l’outil d’analyse :
Utilise REA avec le fournisseur que j'ai configuré pour inspecter
/absolute/path/to/program. Liste ses fonctions et ses chaînes, puis explique la partie qui traite les entrées de l'utilisateur avec des références au code.
Sites web, Android, .NET, firmware et autres cibles
Ouvrez le guide correspondant à votre cible. Chaque guide indique les outils supplémentaires, les hôtes pris en charge et la première commande.
| Cible | Outils à préparer | Guide |
|---|---|---|
| JavaScript / Electron | Node.js + npm | Ouvrir le guide |
| Site web | Chrome / Chromium / Edge | Ouvrir le guide |
| .NET / Flutter / paquets | Node.js + npm | Ouvrir le guide |
| APK Android | JADX + JDK 17+ | Ouvrir le guide |
| Appareil Android | adb | Ouvrir le guide |
| Ressources Android | Apktool + Java | Ouvrir le guide |
| Projet JEB | JEB + MCP | Ouvrir le guide |
| Firmware | Binwalk / Unblob · Linux | Ouvrir le guide |
| WASM | WABT | Ouvrir le guide |
| Base de données SQLite | Node.js 24.15+ / 26+ | Ouvrir le guide |
| Bytecode EVM | Node.js · Linux x64 | Ouvrir le guide |
| ELF / plantage Linux | pwntools / GDB / pwndbg | Ouvrir le guide |
| HAR / SAZ / mitmproxy | Node.js / mitmdump | Ouvrir le guide |
| PCAP / PCAPNG | TShark / capinfos · Linux | Ouvrir le guide |
| Signaux logiques | sigrok-cli · Linux | Ouvrir le guide |
| Comportement des processus | PTY · Linux / macOS | Ouvrir le guide |
Guide Flutter · Paquets et ressources · Bytecode EVM · Tous les guides d’investigation
Utiliser REA depuis un terminal
Commandes CLI, installation globale et curl
Analysez un dossier d'application JavaScript ou Electron ou une archive ASAR sans exécuter l'application:
npx -y rea-agents@latest analyze-javascript-application "/absolute/path/to/app" --json
Remplacez le chemin par le répertoire de votre application extraite ou .asar dossier. Sur Windows, un chemin tel que "D:/apps/example" travaille ici.
Où trouver le fichier .asar d’une application ?
Les applications Electron le conservent généralement dans un resources dossier:
-
Windows:
C:\Users\<you>\AppData\Local\Programs\<App>\resources\app.asar -
macOS :
/Applications/<App>.app/Contents/Resources/app.asar(faites un clic droit sur l’application et choisissez Afficher le contenu du paquet) -
Linux: souvent
/opt/<App>/resources/app.asar
Certaines applications s'installent ailleurs. Recherchez le dossier de l'application pour app.asar.
Le résultat identifie l'application, montre les connexions entre les modules et donne leurs emplacements sources. Les connexions que REA ne peut pas résoudre sont marquées dans le résultat.
Si vous souhaitez un permanent rea commande dans votre shell:
npm install --global rea-agents
Continuez avec le guide d'application JavaScript
npx -y rea-agents@latest function "/absolute/path/to/program" main --provider ghidra --json
Remplacez main par un nom ou une adresse de fonction figurant dans la liste des fonctions de la cible. Ghidra doit être configuré au préalable.
Sur macOS ou Linux, vous pouvez aussi utiliser l’installateur curl après avoir préparé Node.js :
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash
Suivez les instructions de configuration pour connecter votre agent. Si elles n'apparaissent pas, exécutez rea setup.
Si votre shell ne trouve pas rea, utilisez le chemin de l'exécutable affiché par l'installateur. Sous Linux, la commande de configuration par défaut est "$HOME/.local/bin/rea" setup.
Obtenir de l'aide
Si votre agent ne voit pas REA
Redémarrez ou reconnectez le client après l'installation. Vérifiez sa connexion REA avec doctor; pour le modèle Codex :
Utilisez la vérification du client de l’étape 3 avec votre identifiant de configuration. Dans les clients éditeurs, activez REA dans les paramètres MCP et autorisez ses outils dans le chat de l’agent.
Si un fournisseur a besoin d'attention
Vérifiez le fournisseur que vous utilisez. Pour Ghidra:
npx -y rea-agents@latest doctor --provider ghidra --json
Le rapport indique l'échec de la vérification et une suggestion d'étape suivante.
Windows, WSL et chemins contenant des espaces
Utilisez Windows PowerShell pour les clients et les outils d’analyse Windows. Si votre agent s’exécute dans WSL, installez Node.js et REA dans cet environnement Linux et utilisez-y des chemins Linux. Les fournisseurs sans interface graphique s’exécutent sur le même hôte que REA.
Dans un terminal, mettez des guillemets autour d'un chemin qui contient des espaces.
Commande de configuration pour Windows :
npx.cmd rea-agents@latest setup
Mettre à jour ou supprimer REA
Pour actualiser la connexion de votre agent, relancez la dernière commande de configuration, examinez son plan et redémarrez votre client.
npx rea-agents@latest setup
Si vous avez installé la CLI globale, mettez-la à jour avec rea update. Utilisez npx rea-agents@latest uninstall pour supprimer la configuration des clients et la skill de REA.
- FAQ SUR le modèle REARéponses rapides sur les mises à jour, les agents et les analyses.
- Choisissez un guide d'enquêteExemples travaillés pour un binaire, une application Electron et un navigateur.
- Problèmes liés à GitHubSignalez un problème avec la commande et les diagnostics.
- Communauté de REAQuestions, enquêtes et travaux en cours.
