REA, l’outil open source qui confie la rétro-ingénierie à un agent IA
Greffé sur un assistant de code, REA fournit à une IA la matière brute d’un programme compilé pour qu’elle l’explique en langage courant, sous l’œil réservé de deux internautes.
Un outil open source baptisé REA propose de faire expliquer un programme déjà compilé par une IA, en lui posant une question en langage courant. Un internaute, cité par Numerama, a compté les étoiles de son dépôt GitHub : 4 200 environ le 5 octobre, puis quelque 55 000 en l’espace de quelques jours.
En bref
- REA, pour « Reverse Engineer Anything », est un outil open source de rétro-ingénierie assistée par IA.
- Il s’installe sur l’agent de code déjà utilisé et lui fournit la matière brute d’un programme compilé.
- Son dépôt GitHub a gagné des dizaines de milliers d’étoiles en quelques jours, selon le décompte d’un internaute.
- Un membre de StoryTold redoute des procès, et un autre internaute rappelle les limites fixées par les licences.
Comprendre un logiciel sans son code source
Le nom REA abrège « Reverse Engineer Anything ». L’idée : analyser un programme grâce à l’intelligence artificielle et obtenir des réponses formulées en langage naturel. Sur son site, l’outil s’affiche avec une accroche sans détour, « Découvrez comment fonctionne le logiciel ».
Il s’attaque à une discipline jusqu’ici technique, la rétro-ingénierie. Celle-ci revient à étudier un programme déjà compilé pour en saisir la logique, alors qu’on n’a pas accès aux lignes de code écrites par ses auteurs. Numerama relève deux obstacles : il faut savoir déchiffrer des instructions machine, et manier des logiciels d’analyse que seuls les spécialistes maîtrisent. Les concepteurs de REA entendent les lever en déléguant la besogne aux agents de code.
Un extracteur d’un côté, un interprète de l’autre
REA ne remplace pas l’assistant de programmation : il s’y ajoute. Une seule commande d’installation suffit pour le greffer sur l’agent que l’utilisateur emploie déjà. L’outil se charge ensuite de récupérer la matière première du programme visé, c’est-à-dire ses instructions machine, son code décompilé et la liste des fonctions qu’il sollicite.

Vient alors le tour de l’agent. À partir de ces éléments bruts, il raisonne et formule une réponse lisible à la question posée, sans que l’utilisateur ait à ouvrir lui-même un désassembleur.
Les créateurs ont publié plusieurs exemples, du plus accessible au plus ambitieux :
- Le dinosaure de Chrome : interrogé sur l’accélération progressive du petit jeu caché du navigateur, l’agent a localisé la règle de vitesse dans le code, puis produit une variante où le joueur fixe lui-même l’allure.
- La calculatrice de Windows : pourquoi 200 + 10 % donne-t-il 220 ? L’agent a établi que la touche % change de comportement selon l’opération en cours, et a recréé ce fonctionnement dans une calculatrice miniature.
- DX-Ball : les concepteurs affirment avoir reconstruit en langage C ce jeu de casse-briques en partant uniquement de son exécutable.
Pour les formats, les concepteurs disent couvrir les exécutables natifs, les applications bâties avec JavaScript ou Electron, et même l’activité d’un navigateur.
Une envolée sur GitHub
Sur Hacker News, l’accueil a été chaleureux. C’est là qu’un internaute a suivi la courbe du dépôt, jusqu’à la parution de l’article de Numerama, le 10 octobre. Ce décompte reste celui d’un utilisateur, pas une mesure officielle.
Des réserves chez certains développeurs
Les commentaires ne sont pas tous élogieux. Chez StoryTold, qui conçoit notamment des alternatives à la suite Adobe, l’équipe s’interdit purement et simplement de décompiler. L’un de ses membres estime, selon Numerama, qu’utiliser REA sur un projet aussi exposé que le leur risquerait fort de mener à des procès.
Un autre internaute souligne qu’en règle générale, la licence d’un logiciel commercial interdit de le décompiler.
Photo à la une. Source : Pexels. Photographe : Alberlan Barros. Licence Pexels.