← Retour à la liste

Inverser tous les logiciels : REA monte GitHub 58.000 Star, l'agent retourne en question.

itadol5j

GitHub a récemment mis le feu à un autre projet : REA. L'utilisateur a dit que c'était "au 42 000 étoiles", mais à partir d'aujourd'hui (10 octobre 2026) le nombre a augmenté. 58 000 Étoile, 11 000 Fourche- Plus qu'on ne le dit. Et ce qu'il fait c'est que vous pouvez dire la même chose : vous l'utilisez pour inverser n'importe quel logiciel, le creuser de l'application à binaire original.

Concept d'ingénierie inverse et de collaboration dynamique Figure

I. REA: Quel est le problème exactement?

L'inverse traditionnel est l'homme assis dans un compilateur de compteur pendant quelques jours pour lire la compilation. L'idée de REA est de mettre l'agent sur un anticirculaire (code original avec Hopper, Ghidra ou IDA) puis de se connecter à un analyseur statique pour JavaScript et. - Oui. Angent est responsable de l'interrogation de l'outil, de la collecte des conclusions et de la remise des preuves.

Son exemple README est tout le point de vente: "Savoir comment la recherche dans l'application Notes fonctionne, me montrer les preuves, et faire une caractéristique similaire pour mon projet." Vous avez une explication, un code, et une liste de ce que vous ne savez pas.

Le point clé est d'analyser toutes les opérations locales, et les conclusions seront accompagnées de preuves et de limitations - pour ne pas permettre au modèle de faire une explication pour vous.

ii. Quelles cibles manger

REA a une base de support assez large, qui couvre essentiellement les objets inverses communs:

  • Native Binary: pseudocodes, compilations, chaînes, symboles, appels et références (Hopper/Ghidra/IDA requis)
  • Présentation hors ligne ELF: paragraphes, sections, symbole/reposition d'origine, candidat à l'atténuation statique
  • JavaScript / Electron: module, importation, carte source, itinéraire, rapport IPC au plugin primaire (analyse statique sans moteur primaire)
  • Site WebStructure des pages, scripts, observation web et capture d'écran
  • Collecte de programmes .NET: métadonnées, commandes CIL, déclaration de dépendance originale par rapport à la construction (pure statique)
  • Android APKÉnoncé de liste, classe, méthode de traduction inversée et référence (besoin JADX sans tête + JDK complet)
  • Solide: partitions, extractions se croisent avec l'analyse originale (besoin Binwalk / Unblob)
  • EVM octets, login Linux s'écrase, HAR capture, comportement du processusAttendez.

Exigences environnementales: Node.js 22.x (≥22.19), 24.x (≥24.11) ou 26+, plus npm. Les agents supportés comprennent Claude Code, Codex, Cursor, Gemini CLI, Grok Build, etc. - tous les agents qui prennent en charge les serveurs MCP locaux sont fondamentalement fonctionnels. Installer une commande & #160;:npx rea-agents setup, il enregistrera le serveur MCP et écrira la description de workflow qui l'accompagne, puis redémarrera fourt.

Agent pour inverser la chaîne d'outils par MCP

Trois affaires publiques : que peut-elle prouver ?

Les nombres d'étoiles représentent la chaleur et les résultats de cas. L'agent REA a mis trois cases hors de ce qui peut et ce qui ne peut pas.

Cas 1: Formule de champ sonore pour DX-Ball

Question: Comment DX-Ball dans les années 1990 a-t-il traduit la position horizontale des briques en un champ sonore gauche/droite? Le compilateur compteur est dans 0x406400 Une seule entrée non observée a été observée. __ftol() Appel; références manquantes dans la commande [EBP+8]Je ne sais pas. Suivez l'appelant 0x411f40 Formule de coordonnées trouvée 20 + 30 × tile_x, et lire trois constantes de la mémoire 1.5625, 500.0 et l'échelle acoustique initiale 1.0.

La règle qui est finalement restaurée est : la coordination double, multipliée par 1,5625, moins 500,0, multipliée par le champ acoustique stocké, puis coupée. Zoom sur 1 avec le bord gauche -500, centre 0, bord droit 500. Ce qui construit vraiment la confiance est le moyen d'authentification: l'auteur exécute 3205 exemples simultanément à travers la fonction originale x86 et la nouvelle version C (couvrant 0-640 positions complètes, échelle 0/05/1-20-1), et sous la chaîne d'outils VC 4.0 fixe les octets sont assortis avec les 63 octets originaux. L'ensemble du rapport de projet comportait 55 fonctions C et 45380 comparaisons.

Ça ne l'a pas prouvé.Le mouvement pour connecter le champ sonore à l'extrémité arrière du jeu est encore à compléter, et le produit jouable est incomplet; le travail est lié à un Hash fixe à DX-Ball 1.07; la compilation de constantes repositionnées et vérifiées s'appuyant sur la revue manuelle.

Cas 2 : Notion Comment copier sur le panneau Clip

Passer du binaire des années 90 à une application Electron moderne. Question: Bureau de Notion 7.6.1 Comment écrire du texte et du HTML dans le presse-papiers système? Chemin dans quatre segments: précharger le script exposé à la page clipboard.write;un wrapper appelant sur un canal ipcRenderer.invoke;processus principal ipcMain.handle Recevoir; électron par expéditeur clipboard.write Crash. Le même nom de canal des deux côtés. notion:clipboard:writeJe ne sais pas.

Deux découvertes méritent d'être rappelées : le gestionnaire de processus principal vérifiera quelle page a envoyé la demande, et seul Notion a ses propres jeux web pour atteindre le presse-papiers à écrire -- C'est la bonne position pour laquelle Electron devrait s'appliquer ; la seconde est qu'il y a un morceau de données cachées dans la copie, avec un commentaire en HTML pointant vers Notion pour personnaliser mimetypes text/_notion-blocks-v3-production Données de bloc enregistrées localement. Réévite l'entrée lors du collage par ID, et retourne le texte original +HTML lorsque l'entrée expire.

Ça ne l'a pas prouvé.: REA 4.1.0 analyse uniquement l'étiquette précharge, trouve l'API exposée et invoke Call, wrapper se rend compte que l'auteur lit et connecte manuellement Channel au destinataire ; la conclusion du presse-papiers est de la ressource web et le cache de sauvegarde du 13 juillet 2026, pas des sessions de bureau en direct.

Case 3: Écran de jeu pour PC-98

Retour au code DOS 16 bits. Le programme GERA prend en charge 16 bits d'analyse DOS. L'auteur restaure les angles fixes et les angles de visée derrière un anneau de rideau de bombe, les reconstitue avec C++ et les compare à la sortie du compilateur historique. Les formes sont les mêmes que DX-Ball : restaurer une petite fraction du calcul, le reconstruire et ensuite l'authentifier avec le produit original, au lieu de croire en cette explication.

Quatre. Rassemblez les trois affaires.

  • C'est très étroit.: une formule acoustique, un chemin de presse-papiers, un anneau de rideau de balle, et aucun cas ne dit de rebâtir toute l'application.
  • La preuve est jointe.Adresse, constante, 3205 tests, nom de canal, sonde stockée, comparaison compilateur.
  • Tous admis aux étapes manuelles.Repositionné manuellement, enveloppeur de lecture manuelle, appariement compilateur.
  • Les cibles ont des versions fixes.DX-Ball 1.07 avec Hash, Notion 7.6.1, binaire original PC-98.

C'est la frontière honnête d'aujourd'hui:Agent est un assistant rapide et infatigable pour suivre le comportement individuel, et s'avère être un test à partir duquel vous pouvez courir à nouveau.

Validation des cas et chaîne de preuves

V. Ce que cela signifie pour les développeurs

Si vous faites des applications ingénieuses, la REA représente un nouveau modèle : au lieu de laisser le modèle "guerger" directement sur la façon dont un programme fonctionne, vous mettez le modèle sur un outil inverse professionnel pour le faire parler sur des preuves. Sa valeur n'est pas "une clé inverse l'ensemble du logiciel", mais elle va déplacer le seuil inverse de "lire les compilations" à "question + validations".

Mais soyez sobre deux points. Premièrement, l'analyse locale n'est pas la même que le flux de données -- votre agent exportera les outils vers des fournisseurs modèles, et la politique de données s'applique toujours. Deuxièmement, la qualité des éléments de preuve dépendait de la chaîne de certification, et la crédibilité de l'affaire découlait des 3205 comparaisons et de la concordance des octets plutôt que de l'interprétation orale du modèle.

Analyse locale, preuves et boucles d'authentification

Comment faire ?

  • Environnement: Node.js 22.x (≥22.19)/ 24.x (≥24.11)/ 26+, plus npm
  • Première installation clé:npx rea-agents setup, sélectionnez votre anent, examinez et approuvez les changements, et redémarrez un anent
  • Installation globale:npm install --global rea-agents, disponible ultérieurement rea --help
  • Analyse statique JS/Electron:npx -y rea-agents@latest analyze-javascript-application /abs/path --json
  • Analyse primaire : préconfiguration du fournisseur (Hopper/Ghidra/IDA)
  • Mise à jour :rea updateOu encore courir. npx rea-agents@latest setup

L'inverse passe de la « compilation de lecture » à la « question + validation » - l'outil a abaissé le seuil, mais les preuves doivent encore être testées.