REA : rétro-ingénierie pour agents IA
Original : REA Reverse – Engineer Anything
Pourquoi c'est important
L'outil abaisse la barrière d'entrée à la rétro-ingénierie pour tout développeur.
REA est un outil qui connecte un agent de code à des capacités de rétro-ingénierie. Il permet d'inspecter un programme compilé et d'en expliquer le fonctionnement en langage naturel, sans déchiffrer manuellement l'assembleur.
REA (Reverse Engineer Anything) s'installe via une commande npx et s'intègre directement à un agent de développement. L'idée : au lieu de décoder soi-même des instructions x64, des branchements conditionnels et des appels de fonctions, on soumet une question en anglais courant à l'agent, et REA lui fournit le code désassemblé, décompilé et les appels associés pour qu'il puisse répondre.
Les exemples publiés sur le site illustrent deux cas concrets. Premier cas : la calculatrice Windows, qui renvoie 220 pour l'opération 200 + 10 %. REA expose le handler correspondant au bouton %, l'agent identifie la branche active (multiplication, opcode 0x5c) et reconstitue la règle : 10 % de 200 = 20, puis 200 + 20 = 220. Second cas : le dinosaure de Chrome, dont la vitesse d'accélération est extraite du script en mémoire — début à 6, progression jusqu'à 13 — pour permettre de reconstruire le jeu avec une vitesse paramétrable.
REA cible les développeurs qui doivent comprendre, modifier ou reproduire un comportement dans un logiciel dont le code source n'est pas disponible. Le projet propose aussi des guides d'analyse et un blog pour aller plus loin.