{"id":213,"date":"2026-11-09T18:43:30","date_gmt":"2026-11-09T14:43:30","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/11\/09\/rea-opencode-guide\/"},"modified":"2026-11-09T19:37:58","modified_gmt":"2026-11-09T15:37:58","slug":"rea-opencode-guide","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/fr\/2026\/11\/09\/rea-opencode-guide\/","title":{"rendered":"REA et OpenCode : installation et premi\u00e8re enqu\u00eate"},"content":{"rendered":"<p>REA (Reverse Engineer Anything) est un serveur MCP qui vous permet de proc\u00e9der \u00e0 l&#8217;ing\u00e9nierie inverse des applications logicielles, des binaires et des comportements en temps r\u00e9el. L&#8217;outil couvre le chemin allant du comportement de l&#8217;application au code machine, et il est pratique d&#8217;utiliser OpenCode comme agent qui le g\u00e8re.<\/p>\n<p>OpenCode est un agent de programmation ouvert qui r\u00e9side dans le terminal. Il lit les fichiers de projet, \u00e9dite le code, ex\u00e9cute des commandes et des tests et, plus important encore, il prend en charge MCP d\u00e8s le d\u00e9part, donc REA s&#8217;y connecte directement.<\/p>\n<h2>Ce qui rend REA unique<\/h2>\n<p>REA se d\u00e9marque dans le domaine de l\u2019ing\u00e9nierie inverse avec un support complet de plusieurs plateformes et types d\u2019analyses :<\/p>\n<ul>\n<li><b>Binaires natifs<\/b>\u00a0: Hopper, Ghidra, IDA ou Kuna pour le d\u00e9montage et la d\u00e9compilation<\/li>\n<li><b>Applications JavaScript et Electron<\/b>\u00a0: analyse statique des modules Electron, importations et limites<\/li>\n<li><b>Code manag\u00e9<\/b>\u00a0: analyse des assemblys .NET<\/li>\n<li><b>Analyse en temps r\u00e9el<\/b>\u00a0: surveillance du comportement des processus<\/li>\n<li><b>Trafic r\u00e9seau<\/b>\u00a0: capture et analyse des requ\u00eates et r\u00e9ponses HTTP\/S<\/li>\n<li><b>Applications mobiles<\/b>\u00a0: analyse des fichiers APK et IPA pour Android et iOS<\/li>\n<li><b>Logiciel embarqu\u00e9<\/b>\u00a0: analyse des syst\u00e8mes embarqu\u00e9s et des appareils IoT<\/li>\n<li><b>Fichiers mod\u00e8les<\/b>\u00a0: extraction des m\u00e9tadonn\u00e9es GGUF et safetensors<\/li>\n<li><b>Objets de code GPU<\/b>\u00a0: analyse des noyaux CUDA et HIP<\/li>\n<li><b>Sauvegarde de jeux<\/b>\u00a0: restauration de la logique du jeu et des fichiers ex\u00e9cutables<\/li>\n<\/ul>\n<h2>Architecture de base et philosophie<\/h2>\n<p>REA suit un processus de recherche en trois \u00e9tapes qui rend la r\u00e9tro-ing\u00e9nierie accessible aux d\u00e9veloppeurs\u00a0:<\/p>\n<ol>\n<li><b>Inspection<\/b>\u00a0: REA se connecte aux outils d&#8217;analyse et examine les cibles (binaires, applications, sites Web)<\/li>\n<li><b>Analyse<\/b>\u00a0: trace \u00e0 travers le code, d\u00e9terminant les r\u00e8gles et les comportements<\/li>\n<li><b>R\u00e9cup\u00e9ration<\/b>\u00a0: l&#8217;agent utilise les r\u00e9sultats pour expliquer le comportement et cr\u00e9er ou tester une impl\u00e9mentation<\/li>\n<\/ol>\n<p>Ce processus permet \u00e0 l&#8217;agent IA de r\u00e9pondre \u00e0 des questions complexes, telles que : \u00ab\u00a0Comprendre le fonctionnement de la recherche dans l&#8217;application Notes, me montrer les preuves et cr\u00e9er une fonctionnalit\u00e9 similaire pour mon projet.\u00a0\u00bb<\/p>\n<h2>Exemples pratiques d&#8217;utilisation<\/h2>\n<h3>1. Analyse des applications mobiles<\/h3>\n<p>REA peut analyser les fichiers APK Android pour la r\u00e9cup\u00e9ration\u00a0:<\/p>\n<ul>\n<li>d\u00e9clarations et autorisations dans le manifeste\u00a0;<\/li>\n<li>M\u00e9thodes de classe et d\u00e9pendances\u00a0;<\/li>\n<li>liens vers des biblioth\u00e8ques natives\u00a0;<\/li>\n<li>Points de terminaison du r\u00e9seau et flux de donn\u00e9es.<\/li>\n<\/ul>\n<p>Par exemple, une analyse d\u2019Aegis Authenticator a montr\u00e9 comment les codes d\u2019autorisation \u00e0 six chiffres changent toutes les 30 secondes\u00a0: elle a examin\u00e9 le fonctionnement de la g\u00e9n\u00e9ration de code bas\u00e9e sur le temps (TOTP).<\/p>\n<h3>2. Extraction de fonctions d&#8217;application de bureau<\/h3>\n<p>L&#8217;analyse du bouton % dans la calculatrice Windows d\u00e9montre les capacit\u00e9s de REA\u00a0:<\/p>\n<ul>\n<li>d\u00e9finir un comportement diff\u00e9rent selon le contexte (apr\u00e8s + ou \u00d7)\u00a0;<\/li>\n<li>analyser les instructions d&#8217;assemblage pour comprendre la logique\u00a0;<\/li>\n<li>extraire et expliquer des op\u00e9rations math\u00e9matiques\u00a0;<\/li>\n<li>r\u00e9tablir les r\u00e8gles\u00a0: &#8220;Apr\u00e8s +\u00a0: 10\u00a0% du premier nombre&#8221; et &#8220;Apr\u00e8s \u00d7\u00a0: convertir 10\u00a0% en 0,1.&#8221;<\/li>\n<\/ul>\n<h3>3. Restauration de l&#8217;API de l&#8217;application Web<\/h3>\n<p>REA peut enregistrer une session de navigateur et la reconstruire sous la forme d&#8217;un environnement RL dans lequel l&#8217;agent IA effectue des t\u00e2ches telles que travailler avec des dossiers sans ex\u00e9cuter l&#8217;application d&#8217;origine.<\/p>\n<h3>4. Restaurer la logique du jeu<\/h3>\n<p>Le cas DX-Ball a montr\u00e9 comment REA a restaur\u00e9 le calcul du paysage sonore du jeu Windows de 1996 en proc\u00e9dant \u00e0 une ing\u00e9nierie inverse du code C qui s&#8217;ex\u00e9cute sur 3 205 cas de test et correspond au code compil\u00e9 d&#8217;origine.<\/p>\n<h2>Capacit\u00e9s techniques<\/h2>\n<h3>Analyse native<\/h3>\n<ul>\n<li>Fonctionne avec Hopper, Ghidra, IDA ou Kuna pour une analyse approfondie des fichiers binaires<\/li>\n<li>Prend en charge ELF, PE, Mach-O et d&#8217;autres formats de fichiers ex\u00e9cutables<\/li>\n<li>Extrait le pseudocode, l&#8217;assembleur, les symboles et les appels<\/li>\n<li>Effectue une analyse hors ligne sans avoir \u00e0 lancer les outils d&#8217;origine<\/li>\n<\/ul>\n<h3>Analyse JavaScript<\/h3>\n<ul>\n<li>Analyse les applications Node.js et Electron<\/li>\n<li>Suivre les importations et les d\u00e9pendances du module<\/li>\n<li>Capture le comportement en temps r\u00e9el via une connexion \u00e0 un navigateur<\/li>\n<li>\u0418\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 source maps \u0438 \u043c\u0438\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434<\/li>\n<\/ul>\n<h3>S\u00e9curit\u00e9<\/h3>\n<ul>\n<li>Analyse statique des certificats PE (Authenticode)<\/li>\n<li>Analyse des m\u00e9canismes de d\u00e9fense (PIE, NX, RELRO, CFG)<\/li>\n<li>Mappage des importations et des DLL<\/li>\n<li>Analyse des rapports d&#8217;erreur (Apple IPS)<\/li>\n<\/ul>\n<h2>Que renvoie REA<\/h2>\n<p>REA ne donne pas \u00e0 l&#8217;agent des conclusions toutes faites sans raison. Le r\u00e9sultat de chaque requ\u00eate correspond aux conclusions ainsi qu\u2019aux preuves sur lesquelles elles sont fond\u00e9es. Selon la finalit\u00e9, la r\u00e9ponse comprend :<\/p>\n<ul>\n<li><b>Liens vers le code<\/b> &#8211; fichiers et lignes sp\u00e9cifiques o\u00f9 la fonction \u00e9tudi\u00e9e est impl\u00e9ment\u00e9e.<\/li>\n<li><b>Pseudocode et assembleur<\/b> &#8211; pour les binaires natifs\u00a0: fonctions d\u00e9compil\u00e9es, instructions et connexions entre les appels.<\/li>\n<li><b>Structure de l&#8217;application<\/b> &#8211; pour JavaScript et Electron\u00a0: modules, importations, routes, IPC et connexions avec des modules compl\u00e9mentaires natifs.<\/li>\n<li><b>M\u00e9tadonn\u00e9es et faits<\/b>\u00a0: manifestes, certificats, signatures, en-t\u00eates de format et autres donn\u00e9es statiques.<\/li>\n<li><b>Restrictions<\/b>\u00a0:\u00a0lieux qui n&#8217;ont pas pu \u00eatre identifi\u00e9s, avec une note sur ce qui reste exactement inconnu.<\/li>\n<\/ul>\n<p>L&#8217;agent utilise ces donn\u00e9es pour expliquer son comportement, r\u00e9pondre \u00e0 des questions de clarification ou assembler et tester sa mise en \u0153uvre. C&#8217;est la pr\u00e9sence de preuves et de limites explicites qui distingue un r\u00e9sultat REA d&#8217;une simple estimation du mod\u00e8le.<\/p>\n<h2>Avant de commencer<\/h2>\n<p>On suppose qu&#8217;OpenCode est d\u00e9j\u00e0 install\u00e9 et que le mod\u00e8le y est connect\u00e9. Node.js 22.23.4+, 24.22.1+ ou 26.12.1+ est n\u00e9cessaire \u00e0 REA lui-m\u00eame, alors v\u00e9rifiez la version\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>node -v\n<\/code><\/pre>\n<\/div>\n<h2>\u00c9tape\u00a01\u00a0:\u00a0Connecter REA \u00e0 OpenCode<\/h2>\n<p>REA s&#8217;enregistre aupr\u00e8s d&#8217;OpenCode en tant que serveur MCP. Ex\u00e9cuter dans le terminal\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx rea-agents@latest setup\n<\/code><\/pre>\n<\/div>\n<p>Pour sp\u00e9cifier directement OpenCode, utilisez son identifiant <code>opencode<\/code>\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx rea-agents@latest setup --client opencode\n<\/code><\/pre>\n<\/div>\n<p><b>Que fait la configuration\u00a0:<\/b><\/p>\n<ul>\n<li>enregistre REA en tant que serveur MCP\u00a0;<\/li>\n<li>ajoute des instructions de workflow\u00a0;<\/li>\n<li>fait une copie de sauvegarde de la configuration existante\u00a0;<\/li>\n<li>demande une confirmation avant d&#8217;appliquer les modifications.<\/li>\n<\/ul>\n<p><b>Point important\u00a0:<\/b><br \/>\nPour la premi\u00e8re exp\u00e9rience, vous pouvez ignorer l\u2019installation facultative de Hopper. Une fois la configuration termin\u00e9e, red\u00e9marrez OpenCode\u00a0: quittez la session et ex\u00e9cutez \u00e0 nouveau <code>opencode<\/code>.<\/p>\n<p>V\u00e9rifiez la connexion\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx -y rea-agents@latest doctor --client opencode --json\n<\/code><\/pre>\n<\/div>\n<p>R\u00e9sultat r\u00e9ussi\u00a0: <code>\"healthy\": true<\/code>.<\/p>\n<p>Demandez ensuite \u00e0 l&#8217;agent\u00a0:<\/p>\n<blockquote><p>\u00ab V\u00e9rifiez que REA est connect\u00e9 et montrez-moi quels outils REA vous pouvez utiliser. \u00bb<\/p><\/blockquote>\n<h2>\u00c9tape 2\u00a0: Premi\u00e8re enqu\u00eate<\/h2>\n<p>REA peut analyser les applications sans les lancer.<\/p>\n<ol>\n<li><b>T\u00e9l\u00e9chargez l&#8217;exemple\u00a0:<\/b>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>Download https:\/\/rea.tools\/examples\/notes-example.zip\n<\/code><\/pre>\n<\/div>\n<p>D\u00e9compressez l&#8217;archive dans le dossier <code>notes-example<\/code>.<\/li>\n<li><b>Donner une t\u00e2che \u00e0 l&#8217;agent\u00a0:<\/b><br \/>\n<blockquote><p>&#8220;Utilisez REA pour inspecter l&#8217;application sur <code>\/absolute\/path\/to\/notes-example<\/code>. D\u00e9couvrez ce qui se passe lorsque je clique sur Exporter les notes. Montrez o\u00f9 notes.csv est \u00e9crit, quels champs il contient, ainsi que les fichiers et lignes pertinents. &#8220;<\/p><\/blockquote>\n<\/li>\n<\/ol>\n<p><b>R\u00e9ponse attendue\u00a0:<\/b><\/p>\n<blockquote><p>&#8220;Le bouton envoie un message <code>notes:export<\/code>. Le processus principal formate les notes au format CSV et \u00e9crit <code>notes.csv<\/code> dans le dossier T\u00e9l\u00e9chargements de l&#8217;utilisateur. Les colonnes sont <code>id<\/code> et <code>title<\/code>.&#8221;<\/p><\/blockquote>\n<h2>\u00c9tape 3\u00a0: installation de Ghidra et analyse native<\/h2>\n<p>Pour analyser les binaires natifs (ex\u00e9cutables et biblioth\u00e8ques), REA utilise un fournisseur d&#8217;analyse. L\u2019option gratuite la plus abordable est Ghidra de la NSA. L&#8217;outil est install\u00e9 une fois sur l&#8217;ordinateur sur lequel REA s&#8217;ex\u00e9cute.<\/p>\n<h3>Ce dont vous avez besoin<\/h3>\n<ul>\n<li>JDK 21 64\u00a0bits ou version ult\u00e9rieure, y compris le compilateur Java (<code>javac<\/code>).<\/li>\n<li>Archive Ghidra de la page des versions.<\/li>\n<\/ul>\n<h3>Installation<\/h3>\n<ol>\n<li>Installez le JDK 21 64\u00a0bits ou une version ult\u00e9rieure. S\u00e9lectionnez un package pour votre architecture informatique.<\/li>\n<li>T\u00e9l\u00e9chargez Ghidra depuis la liste des ressources sur la page des versions et d\u00e9compressez l&#8217;archive <code>ghidra_\u2026_PUBLIC_\u2026.zip<\/code>. Prenez l&#8217;archive de la version, pas le &#8220;Code source&#8221;.<\/li>\n<li>Recherchez le dossier d\u00e9compress\u00e9 qui contient <code>ghidraRun<\/code> ou <code>ghidraRun.bat<\/code>. Ce chemin sera n\u00e9cessaire pour la variable <code>GHIDRA_INSTALL_DIR<\/code>.<\/li>\n<\/ol>\n<p>D\u00e9couvrez Java. La premi\u00e8re commande imprime <code>java.home<\/code> &#8211; ce chemin est n\u00e9cessaire pour <code>JAVA_HOME<\/code>. La seconde confirme que le compilateur est install\u00e9 :<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>java -XshowSettings:properties -version\njavac -version\n<\/code><\/pre>\n<\/div>\n<h3>Connexion Ghidra<\/h3>\n<p><b>Windows (PowerShell)\u00a0:<\/b><\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>$env:GHIDRA_INSTALL_DIR = \"C:\/tools\/ghidra_12.1.4_PUBLIC\"\n$env:JAVA_HOME = \"C:\/tools\/jdk-21\"\nnpx -y rea-agents@latest doctor --provider ghidra --json\nnpx -y rea-agents@latest setup\n<\/code><\/pre>\n<\/div>\n<p><b>macOS\/Linux\u00a0:<\/b><\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>export GHIDRA_INSTALL_DIR=\"\/absolute\/path\/to\/ghidra_12.1.4_PUBLIC\"\nexport JAVA_HOME=\"\/absolute\/path\/to\/jdk-21\"\nnpx -y rea-agents@latest doctor --provider ghidra --json\nnpx -y rea-agents@latest setup\n<\/code><\/pre>\n<\/div>\n<p>Remplacez les chemins par les v\u00f4tres. Conservez les commandes dans une seule session de terminal\u00a0: apr\u00e8s avoir d\u00e9fini les variables d&#8217;environnement, r\u00e9ex\u00e9cutez l&#8217;installation, confirmez la mise \u00e0 jour de la configuration et red\u00e9marrez OpenCode.<\/p>\n<p>La v\u00e9rification du fournisseur devrait renvoyer un rapport r\u00e9ussi\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx -y rea-agents@latest doctor --provider ghidra --json\n<\/code><\/pre>\n<\/div>\n<h3>Exemple d&#8217;analyse native<\/h3>\n<p>Donnez \u00e0 l&#8217;agent le chemin complet du fichier ex\u00e9cutable et sp\u00e9cifiez le fournisseur\u00a0:<\/p>\n<blockquote><p>&#8220;Utilisez REA avec un fournisseur configur\u00e9 pour explorer <code>\/absolute\/path\/to\/program<\/code>. R\u00e9pertoriez les fonctions et les lignes, puis expliquez la partie qui g\u00e8re les entr\u00e9es de l&#8217;utilisateur, avec des r\u00e9f\u00e9rences au code.&#8221;<\/p><\/blockquote>\n<p>Ou ex\u00e9cutez la commande directement depuis le terminal\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx -y rea-agents@latest function \"\/absolute\/path\/to\/program\" main --provider ghidra --json\n<\/code><\/pre>\n<\/div>\n<p>Remplacez <code>main<\/code> par le nom ou l&#8217;adresse de la fonction de la liste des fonctions du programme cible. Le r\u00e9sultat contient du pseudocode, un assembleur et des r\u00e9f\u00e9rences entre les appels.<\/p>\n<h2>Analyse d&#8217;un autre type de logiciel<\/h2>\n<p>S\u00e9lectionnez la cat\u00e9gorie de logiciel cible\u00a0:<\/p>\n<ul>\n<li><b>JavaScript\/Electron<\/b>\u00a0&#8211;\u00a0n\u00e9cessite Node.js et npm. <a href=\"https:\/\/rea.tools\/guides\/javascript\/\">Guide<\/a>.<\/li>\n<li><b>Sites Web<\/b>\u00a0: n\u00e9cessite le navigateur Chrome, Chromium ou Edge. <a href=\"https:\/\/rea.tools\/guides\/browser\/\">Guide<\/a>.<\/li>\n<li><b>APK Android<\/b> &#8211; n\u00e9cessite JADX et JDK 17+. <a href=\"https:\/\/github.com\/morluto\/rea\/blob\/main\/docs\/android-analysis.md\">Manuel<\/a>.<\/li>\n<li><b>Ex\u00e9cutables natifs<\/b>\u00a0&#8211;\u00a0n\u00e9cessite Hopper, Ghidra ou IDA. <a href=\"https:\/\/rea.tools\/guides\/native\/\">Guide<\/a>.<\/li>\n<li><b>Assemblages .NET<\/b>\u00a0: n\u00e9cessite Node.js et npm. <a href=\"https:\/\/github.com\/morluto\/rea\/blob\/main\/docs\/managed-code-analysis.md\">Manuel<\/a>.<\/li>\n<\/ul>\n<h2>Utiliser REA depuis le terminal<\/h2>\n<h3>Analyse statique de l&#8217;application JavaScript\/Electron<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx -y rea-agents@latest analyze-javascript-application \"\/absolute\/path\/to\/app\" --json\n<\/code><\/pre>\n<\/div>\n<p><i>Remplacez le chemin par le dossier contenant l&#8217;application ou le fichier .asar.<\/i><\/p>\n<p><b>O\u00f9 trouver le fichier .asar de l&#8217;application Electron\u00a0:<\/b><\/p>\n<ul>\n<li><b>Windows:<\/b> <code>C:\\Users\\&lt;you&gt;\\AppData\\Local\\Programs\\&lt;App&gt;\\resources\\app.asar<\/code><\/li>\n<li><b>macOS:<\/b> <code>\/Applications\/&lt;App&gt;.app\/Contents\/Resources\/app.asar<\/code><\/li>\n<li><b>Linux:<\/b> <code>\/opt\/&lt;App&gt;\/resources\/app.asar<\/code><\/li>\n<\/ul>\n<h3>Installation globale de la commande rea<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npm install --global rea-agents\n<\/code><\/pre>\n<\/div>\n<p>Apr\u00e8s cela, la commande <code>rea --help<\/code> est disponible.<\/p>\n<h3>Installation via curl (macOS \/ Linux)<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>curl -fsSL https:\/\/raw.githubusercontent.com\/morluto\/rea\/main\/install.sh | bash\n<\/code><\/pre>\n<\/div>\n<p>Apr\u00e8s l&#8217;installation, suivez les instructions pour configurer l&#8217;agent. Si le menu de configuration n&#8217;appara\u00eet pas, ex\u00e9cutez <code>rea setup<\/code>.<\/p>\n<h2>Mettre \u00e0 jour et supprimer<\/h2>\n<h3>Mise \u00e0 jour REA<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx rea-agents@latest setup\n<\/code><\/pre>\n<\/div>\n<p><i>Pour une installation globale\u00a0: <code>rea update<\/code><\/i><\/p>\n<h3>Suppression de REA<\/h3>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx rea-agents@latest uninstall\n<\/code><\/pre>\n<\/div>\n<h2>Obtenir de l&#8217;aide<\/h2>\n<ul>\n<li><b>FAQ<\/b>\u00a0: <a href=\"https:\/\/rea.tools\/faq\/\">rea.tools\/faq\/<\/a> &#8211; r\u00e9ponses rapides sur les mises \u00e0 jour, les agents et l&#8217;analyse<\/li>\n<li><b>Guides<\/b>\u00a0: <a href=\"https:\/\/rea.tools\/guides\/\">rea.tools\/guides\/<\/a> &#8211; exemples d&#8217;analyse binaire, \u00e9lectronique et de navigateur<\/li>\n<li><b>Probl\u00e8mes GitHub<\/b>\u00a0: <a href=\"https:\/\/github.com\/morluto\/rea\/issues\">github.com\/morluto\/rea\/issues<\/a> &#8211; signaler un probl\u00e8me<\/li>\n<li><b>Discord<\/b>\u00a0: <a href=\"https:\/\/discord.gg\/GkcryMnJDM\">discord.gg\/GkcryMnJDM<\/a> &#8211; questions, enqu\u00eates et travaux en cours<\/li>\n<\/ul>\n<h2>Probl\u00e8mes typiques<\/h2>\n<h3>OpenCode ne voit pas REA<\/h3>\n<p>Red\u00e9marrez OpenCode apr\u00e8s l&#8217;installation. Utilisez la commande <code>doctor<\/code> pour tester la connexion\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx -y rea-agents@latest doctor --client opencode --json\n<\/code><\/pre>\n<\/div>\n<h3>Le fournisseur n\u00e9cessite une configuration<\/h3>\n<p>Pour la course Ghidra\u00a0:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism undefined-numbers lang-unknown\" data-lang=\"unknown\"><code>npx -y rea-agents@latest doctor --provider ghidra --json\n<\/code><\/pre>\n<\/div>\n<p>Le rapport affichera le test ayant \u00e9chou\u00e9 et la prochaine \u00e9tape sugg\u00e9r\u00e9e.<\/p>\n<h3>Windows, WSL et chemins avec espaces<\/h3>\n<ul>\n<li>Utiliser PowerShell pour les clients Windows<\/li>\n<li>Si l&#8217;agent s&#8217;ex\u00e9cute dans WSL, installez Node.js et REA dans ce syst\u00e8me Linux et utilisez les chemins Linux<\/li>\n<li>Dans le terminal, placez les chemins avec des espaces entre guillemets<\/li>\n<\/ul>\n<h3>Configurer Hopper sur macOS<\/h3>\n<p>Si macOS vous demande d&#8217;autoriser l&#8217;automatisation, autorisez l&#8217;application qui ex\u00e9cute REA dans les Pr\u00e9f\u00e9rences Syst\u00e8me\u00a0: Pr\u00e9f\u00e9rences Syst\u00e8me \u2192 Confidentialit\u00e9 et s\u00e9curit\u00e9 \u2192 Automatisation, puis r\u00e9essayez.<\/p>\n<h2>Liens<\/h2>\n<p><a href=\"https:\/\/github.com\/morluto\/rea\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/morluto\/rea<\/a><br \/>\n<a href=\"https:\/\/rea.tools\/\" rel=\"noopener\" target=\"_blank\">https:\/\/rea.tools\/<\/a><br \/>\n<a href=\"https:\/\/rea.tools\/get-started\/\" rel=\"noopener\" target=\"_blank\">https:\/\/rea.tools\/get-started\/<\/a><br \/>\n<a href=\"https:\/\/rea.tools\/guides\/\" rel=\"noopener\" target=\"_blank\">https:\/\/rea.tools\/guides\/<\/a><br \/>\n<a href=\"https:\/\/opencode.ai\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/<\/a><br \/>\n<a href=\"https:\/\/opencode.ai\/docs\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/docs\/<\/a><br \/>\n<a href=\"https:\/\/opencode.ai\/docs\/mcp-servers\/\" rel=\"noopener\" target=\"_blank\">https:\/\/opencode.ai\/docs\/mcp-servers\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>REA (Reverse Engineer Anything) est un serveur MCP qui vous permet de proc\u00e9der \u00e0 l&#8217;ing\u00e9nierie inverse des applications logicielles, des binaires et des comportements en temps r\u00e9el. L&#8217;outil couvre le chemin allant du comportement de l&#8217;application au code machine, et il est pratique d&#8217;utiliser OpenCode comme agent qui le g\u00e8re. OpenCode est un agent de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-213","post","type-post","status-publish","format-standard","hentry","category-software"],"translation":{"provider":"WPGlobus","version":"3.0.6","language":"fr","enabled_languages":["en","ru","zh","de","ja","fr","es","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"es":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":true,"content":true,"excerpt":false}}},"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/comments?post=213"}],"version-history":[{"count":1,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/213\/revisions"}],"predecessor-version":[{"id":214,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/213\/revisions\/214"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/media?parent=213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/categories?post=213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/tags?post=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}