REA
Toate ghidurile

Cum folosești REA cu agenți de programare: prima ta investigație

reverseengineeranything.tools

Instalează REA, conectează agentul de programare, inspectează o aplicație JavaScript locală și verifică o constatare în raport cu dovezile înainte de a reface o funcționalitate.

Noutăți pe această pagină

  • — Am publicat cazuri din comunitate susținute de surse, ghiduri practice și precizări clare privind limitele dovezilor.

Pentru a folosi REA cu un agent de programare, rulează npx rea-agents@latest setup, aprobă modificările de configurare pentru clientul ales și repornește acel client. Apoi oferă-i agentului o țintă software locală și un comportament concret de investigat; cere codul relevant, locațiile din sursă și limitările înainte de a-i cere să construiască ceva.

REA este un CLI și un server MCP cu sursă deschisă. Acest articol este un ghid independent al comunității; rea.tools și depozitul morluto/rea sunt sursele oficiale ale proiectului.

De ce ai nevoie înainte de a instala REA?

REA necesită Node.js 22.x începând cu 22.19, Node.js 24.x începând cu 24.11 sau Node.js 26 și versiunile ulterioare, plus npm. Node.js 23, 25 și versiunile preliminare sunt în afara intervalului de compatibilitate documentat. Verifică ghidul oficial de instalare când configurezi un calculator nou.

Alege o țintă pe care o deții sau pe care ai permisiunea să o examinezi. O aplicație JavaScript extrasă sau o arhivă Electron ASAR este o primă țintă utilă, deoarece analiza statică a aplicațiilor în REA nu necesită Hopper, Ghidra sau IDA. Analiza aprofundată a fișierelor binare native folosește unul dintre aceste motoare și are cerințe suplimentare de platformă și versiune. Fișierul README al REA enumeră categoriile de ținte acceptate și cerințele preliminare.

Ce vrei să faci? Punct de pornire recomandat Intrare Rezultat
Să ceri unui agent să explice o funcționalitate Configurarea MCP pentru REA Calea locală a țintei și o întrebare precisă Constatări, dovezi și continuarea investigației
Să inspectezi o aplicație fără agent CLI-ul REA Directorul unei aplicații JavaScript extrase sau o arhivă ASAR Dovezi structurate despre aplicație
Să inspectezi manual aspectul unei pagini web sau să întrerupi execuția JavaScript Chrome DevTools Pagină deschisă în Chrome Editare directă DOM/CSS și control al punctelor de întrerupere
Să explorezi singur funcțiile și grafurile unui fișier binar Ghidra Executabil sau bibliotecă acceptată Dezasamblare interactivă, decompilare și proiect de analiză

Chrome DevTools și Ghidra oferă interfețe performante de inspecție directă. REA este util când vrei ca agentul să te ajute să parcurgi o investigație și să transforme anumite constatări într-o explicație sau implementare. Consultă comparația noastră cu Ghidra și comparația cu Chrome DevTools.

Cum conectezi REA la un agent de programare?

Rulează comanda oficială de configurare într-un terminal:

npx rea-agents@latest setup

Selectează clientul dorit, verifică configurația exactă și căile abilității și aprobă planul. Configurarea înregistrează serverul MCP local al REA și instalează instrucțiunile de investigare corespunzătoare. Repornește clientul indicat în mesajul de finalizare, astfel încât agentul în execuție să poată descoperi conexiunea. Documentația oficială de configurare explică previzualizarea, copiile de siguranță și controalele pentru delimitarea modificărilor.

Pentru a verifica înregistrarea în Codex, folosește:

npx -y rea-agents@latest doctor --client codex --json

Înlocuiește codex cu ID-ul clientului tău acceptat, unde este cazul. Un rezultat fără probleme al comenzii doctor verifică fișierele de înregistrare și cerințele preliminare; nu dovedește că sesiunea curentă a agentului s-a reconectat. Dacă agentul tot nu poate vedea REA, repornește-l sau reconectează-l și examinează eroarea conexiunii sale MCP. Instalarea doar a abilității de pe skills.sh furnizează instrucțiuni, nu conexiunea MCP. Ghidul oficial de depanare acoperă aceste diferențe.

Ce ar trebui să îi ceri REA să găsească în primul prompt?

Alege un comportament observabil în loc să ceri reconstrucția unei aplicații întregi. Pentru o aplicație pe care ai autorizația să o inspectezi, un prompt precis este:

Folosește REA pentru a inspecta /absolute/path/to/my-notes-app.
Explică modul în care aplicația exportă notițele în format CSV.
Arată modulele relevante, locațiile din sursă și dovezile.
Separă comportamentul confirmat de orice aspect pe care nu îl poți determina.

Înlocuiește calea cu ținta ta reală. REA furnizează rezultate ale investigației; agentul de programare le interpretează. Înainte de a accepta răspunsul, verifică dacă rezultatul identifică fișierele țintă, codul relevant și eventualele lacune de acoperire. O explicație plauzibilă fără o locație justificativă este o ipoteză de investigat în continuare.

Dacă MCP nu este disponibil, inspecția statică JavaScript poate rula și direct:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/my-notes-app --json

Comanda acceptă un director de aplicație extrasă sau o arhivă ASAR și returnează o înregistrare Evidence. Erorile furnizorilor nativi dintr-un audit nu împiedică automat acest flux de lucru JavaScript separat. Recomandările REA pentru verificarea pregătirii în funcție de sarcină recomandă să verifici sarcina de care ai efectiv nevoie.

Cum verifici un rezultat înainte de a reface o funcționalitate?

Transformă explicația într-o mică predicție. Pentru un exportator CSV, compară o notiță obișnuită cu o notiță care conține o virgulă, ghilimele sau un caracter de linie nouă. Întreabă agentul ce ramură tratează acele caractere și cum se potrivește rezultatul anticipat cu exportul observat al aplicației originale. Păstrează rezultatul observat separat de codul de înlocuire propus de agent.

Investigația oficială Notes folosește un export CSV pentru a explica acest proces. Exemplul oficial cu dinozaurul ilustrează o altă țintă: REA citește scriptul încărcat al jocului din browser, agentul îi identifică regula de accelerație, iar o mică reconstrucție face viteza reglabilă. Acestea sunt exemple practice realizate de proiect, nu mărturii ale unor utilizatori independenți.

Care sunt limitele privind versiunile publicate și confidențialitatea?

Ramura main a depozitului poate documenta funcționalități mai noi decât pachetul publicat pe npm. @latest solicită versiunea publicată curentă pe npm; înregistrările MCP persistente sunt fixate la versiunea exactă care a efectuat configurarea. Reia configurarea și repornește agentul când actualizezi. Alege funcționalități din lista efectivă de instrumente și din schemele serverului conectat, în loc să presupui că fiecare funcționalitate din ramura main este instalată. Delimitarea oficială dintre pachetul publicat și ramura main explică această distincție.

REA analizează țintele pe calculatorul tău. Rezultatele instrumentelor sunt trimise agentului tău de programare, al cărui furnizor de model are propria politică privind datele. Verifică ce conține un rezultat înainte de a-l partaja, în special fragmente de cod sursă, căi locale, cereri capturate sau date ale aplicației. Întrebările frecvente oficiale descriu această limită dintre analiza locală și furnizorul modelului.

Ce întrebări apar după prima investigație?

Pot folosi REA fără Hopper, Ghidra sau IDA?

Da. Inspecția statică JavaScript/Electron și .NET nu necesită un motor de analiză nativă. Analiza nativă aprofundată necesită unul. Alege cerințele preliminare în funcție de țintă, în loc să tratezi fiecare furnizor opțional ca fiind obligatoriu.

REA recuperează codul sursă original?

Analiza nativă returnează cod de asamblare și pseudocod însoțite de constatări justificative. Pseudocodul este o reprezentare de analiză, nu o promisiune de reproducere a codului sursă original. Agentul poate folosi constatările pentru a scrie o implementare nouă și a o testa.

Pot rula REA fără un abonament AI?

CLI-ul REA poate rula direct fluxuri de lucru de analiză. Folosirea unui agent de programare implică cerințele proprii de acces ale clientului respectiv și condițiile furnizorului modelului. Licența MIT a REA nu oferă acces la modele sau o licență pentru un motor de analiză comercial.

Ce ar trebui să fac când o comandă eșuează?

Verifică cerințele preliminare documentate și actualizează mai întâi REA. Pentru un CLI instalat global, rea update actualizează instalarea de care aparține; pentru configurarea unui agent prin npx, rulează din nou npx rea-agents@latest setup și repornește clientul. Dacă eroarea persistă, raportează versiunea REA, sistemul de operare, tipul țintei, furnizorul, pașii și mesajele de eroare prin sistemul oficial de raportare a problemelor.