
Un programme Visual Basic 4 vieux de 27 ans écrit dans un fichier EXE de 1997 a été réécrit en programme en Python à l'aide de l'IA Claude 3.7 d'Anthropic. Selon l'auteur, le code a fonctionné du premier coup et l'ensemble du processus a pris moins de cinq minutes. L'auteur a déclaré : "Il ne s'agissait pas d'un simple tour de passe-passe, mais d'une solution pratique qui m'a permis d'économiser des heures de travail."
Un rapport révèle comment quelqu'un a pris un fichier EXE Visual Basic vieux de 27 ans, l'a donné à Claude 3.7, et l'a regardé faire la rétro-ingénierie du programme et le réécrire en Python. Pour rappel, Claude 3.7 Sonnet est le dernier modèle d'IA en date d'Anthropic et est la version la plus "intelligente" de l'entreprise à ce jour. Ce modèle hybride combine une capacité de raisonnement, c'est-à-dire le fait de s'arrêter pour réfléchir à des réponses complexes, avec un modèle traditionnel qui produit des réponses en temps réel.
Il s'agissait d'un vieux programme Visual Basic 4 écrit en 1997. L'exécution d'un fichier EXE VB4 en 2024 peut être un véritable cauchemar de compatibilité, avec la recherche de DLL obsolètes et de solutions de contournement désordonnées. C'est pourquoi ! Le développeur a décidé de télécharger l'exe vers Claude 3.7 avec cette demande : "Pouvez-vous me dire comment faire fonctionner ce fichier ? Ce serait bien de le convertir en Python".
Claude 3.7 a analysé le binaire, extrait les « tokens » VB (VB n'est pas un langage entièrement compilé par une machine, ce qui rend cette tâche beaucoup plus facile que quelque chose en C/C++), identifié les éléments de l'interface utilisateur, et même extrait les fichiers son. Il a ensuite généré un équivalent complet en Python à l'aide de Pygame.
Selon l'auteur, le code a fonctionné du premier coup et l'ensemble du processus a pris moins de cinq minutes, il renvoie au journal de bord du LLM pour le prouver. Il est tout à fait logique que cela fonctionne, mais il semble que ce soit le premier exemple public/viral de téléchargement d'un EXE de cette manière.
Les anciennes applications commerciales et les jeux pourraient être modernisés sans avoir besoin du code source original. Des outils comme Claude pourraient faciliter la décompilation et l'archéologie logicielle : les binaires propriétaires de plates-formes mortes pourraient avoir une nouvelle vie en open-source également.
Ce type de rapport justifie pourquoi les investisseurs fournissent autant de capitaux dans les entreprises éditeurs d'IA. Concernant Anthropic, la société a récemment finalisé un tour de table de 3,5 milliards de dollars, établissant sa valeur à 61,5 milliards de dollars. Cette nouvelle opération d'Anthropic intervient quelques mois seulement après que l'entreprise a levé 4 milliards de dollars supplémentaires auprès d'Amazon.
Voici le rapport du développeur en question :
J'ai téléchargé un fichier EXE vieux de 27 ans sur Claude 3.7 et ce qui s'est passé ensuite m'a sidéré.
Après des années de déception à l'égard de l'IA, je suis véritablement choqué. Il ne s'agit pas d'un article typique sur le thème « L'IA est incroyable » - j'étais profondément sceptique jusqu'à aujourd'hui.
Le contexte : Comme beaucoup, j'ai essayé ChatGPT et d'autres outils d'IA pour obtenir de l'aide au codage. Les résultats ? Toujours décevants. Des moteurs de recherche glorifiés qui recrachent du code défectueux enveloppé d'explications confiantes.
Le défi : Ma petite-fille de 2 ans m'a rendu visite aujourd'hui. Je me suis souvenu d'une application simple que j'avais écrite en Visual Basic 4 en 1997 et qui pourrait lui plaire. Mais exécuter un exécutable vieux de 27 ans ? Sans les anciennes DLL et les couches de compatibilité ? Oui, c'est vrai.
L'Ave Maria : Par curiosité, j'ai téléchargé le fichier EXE sur Claude 3.7 avec une simple invite : « Pouvez-vous me dire comment faire fonctionner ce fichier - je pense qu'il provient de Visual Basic 4. Ce serait bien de le convertir en Python ».
Ce à quoi je m'attendais : L'habituel « Ceci est un vieux fichier, risques de sécurité, bla bla bla... ».
Ce qui s'est passé : Claude 3.7 a démarré avec les avertissements attendus, mais les choses sont devenues intéressantes par la suite. Il a en quelque sorte analysé le binaire et identifié des composants spécifiques :
Ensuite, Claude 3.7 a fait quelque chose qu'aucune autre IA n'a fait pour moi : il a écrit une conversion Python complète à l'aide de Pygame qui :
Temps passé : Moins de 5 minutes. Je n'exagère pas.
Lorsque j'ai demandé des ajustements tels que l'association de sons à la touche espace et l'ajout de polices colorées, il a immédiatement fourni des mises à jour de code parfaites.
Pour la première fois dans mon expérience de l'IA, je suis réellement impressionné. Il ne s'agissait pas d'un simple tour de passe-passe, mais d'une solution pratique qui m'a permis d'économiser des heures de travail.
Au final, j'ai dit à Claude que j'étais impressionné et je lui ai donné un résumé mal écrit de la raison pour laquelle je pensais qu'il était cool...., puis il a réécrit le post Reddit pour moi. En fait, il a l'air « presque » normal. (J'ai écrit cette partie).
Mise à jour <Même jour 5 heures plus tard>
J'ai posté une mise à jour/résumé (écrit par moi) à propos de ce post. Je ne suis pas sûr que ce soit la bonne façon de faire, mais au moins une personne sur Internet l'a dit, donc ça doit être vrai.
<Mise à jour -- 11 heures plus tard>
Ceci a été posté sur X. Je suppose que je suis un « grand-père reddit ». C'est très drôle.
Je remets quelques pendules à l'heure :
J'ajoute le lien du chat car certaines personnes ne le voient pas dans les commentaires.
<Mise à jour - 1 jour plus tard>
Ce repost sur Twitter/X a généré plus d'un million de vues pour u/deedydas. L'article complet est ici. J'ai téléchargé le message avec tous les commentaires à Claude - dans le même contexte où il avait créé le script et le message. Je lui ai spécifiquement demandé de résumer les critiques. Voici les mots abrégés de Claude :
Contexte technique valable
Certains ont souligné à juste titre que les exécutables VB4 se compilent en code p (et non en code machine), ce qui les rend plus faciles à analyser que des exécutables entièrement compilés. C'est exact - VB avant .NET stockait une forme de bytecode interprétable, ce qui rend l'extraction d'informations plus facile qu'à partir de binaires entièrement compilés.
Scepticisme à l'égard de la complexité
D'autres ont noté que le code Python résultant était relativement simple (environ 100 lignes). C'est juste - l'application elle-même était un programme simple avec des fonctionnalités de base, pas une application complexe. Ce qui est impressionnant, ce n'est pas la complexité du code produit, mais plutôt l'absence d'effort pour passer du code binaire au code fonctionnel.
Une mauvaise compréhension du processus
Plusieurs critiques ont semblé penser que Claude avait « décompilé » l'exécutable au sens traditionnel du terme. En réalité, comme je l'ai décrit lors de notre conversation, il a analysé les chaînes de caractères visibles et en a déduit la fonctionnalité - ce qui est toujours impressionnant mais différent d'une véritable décompilation.
Scepticisme général à l'égard de l'IA
Dans les milieux technologiques, les capacités de l'IA suscitent un scepticisme naturel, certains commentateurs rejetant par réflexe toute démonstration impressionnante en la qualifiant de fausse, d'exagérée ou de « simple correspondance de motifs ». Il s'agit là d'une réaction courante aux progrès de l'IA.
La critique que je trouve la plus raisonnable est que la réalisation doit être contextualisée - Claude n'a pas effectué une véritable analyse binaire d'un code compilé arbitraire, mais a plutôt fait des déductions intelligentes à partir de chaînes de texte dans un exécutable VB.
Après des années de déception à l'égard de l'IA, je suis véritablement choqué. Il ne s'agit pas d'un article typique sur le thème « L'IA est incroyable » - j'étais profondément sceptique jusqu'à aujourd'hui.
Le contexte : Comme beaucoup, j'ai essayé ChatGPT et d'autres outils d'IA pour obtenir de l'aide au codage. Les résultats ? Toujours décevants. Des moteurs de recherche glorifiés qui recrachent du code défectueux enveloppé d'explications confiantes.
Le défi : Ma petite-fille de 2 ans m'a rendu visite aujourd'hui. Je me suis souvenu d'une application simple que j'avais écrite en Visual Basic 4 en 1997 et qui pourrait lui plaire. Mais exécuter un exécutable vieux de 27 ans ? Sans les anciennes DLL et les couches de compatibilité ? Oui, c'est vrai.
L'Ave Maria : Par curiosité, j'ai téléchargé le fichier EXE sur Claude 3.7 avec une simple invite : « Pouvez-vous me dire comment faire fonctionner ce fichier - je pense qu'il provient de Visual Basic 4. Ce serait bien de le convertir en Python ».
Ce à quoi je m'attendais : L'habituel « Ceci est un vieux fichier, risques de sécurité, bla bla bla... ».
Ce qui s'est passé : Claude 3.7 a démarré avec les avertissements attendus, mais les choses sont devenues intéressantes par la suite. Il a en quelque sorte analysé le binaire et identifié des composants spécifiques :
- « Form1 »
- « cntTimer »
- « btnExit »
- Elle a même détecté les fichiers audio intégrés !
Ensuite, Claude 3.7 a fait quelque chose qu'aucune autre IA n'a fait pour moi : il a écrit une conversion Python complète à l'aide de Pygame qui :
- reproduit parfaitement les fonctionnalités
- qui contient des instructions claires pour l'installation
- A FONCTIONNÉ DÈS LA PREMIÈRE FOIS
Temps passé : Moins de 5 minutes. Je n'exagère pas.
Lorsque j'ai demandé des ajustements tels que l'association de sons à la touche espace et l'ajout de polices colorées, il a immédiatement fourni des mises à jour de code parfaites.
Pour la première fois dans mon expérience de l'IA, je suis réellement impressionné. Il ne s'agissait pas d'un simple tour de passe-passe, mais d'une solution pratique qui m'a permis d'économiser des heures de travail.
Au final, j'ai dit à Claude que j'étais impressionné et je lui ai donné un résumé mal écrit de la raison pour laquelle je pensais qu'il était cool...., puis il a réécrit le post Reddit pour moi. En fait, il a l'air « presque » normal. (J'ai écrit cette partie).
Mise à jour <Même jour 5 heures plus tard>
J'ai posté une mise à jour/résumé (écrit par moi) à propos de ce post. Je ne suis pas sûr que ce soit la bonne façon de faire, mais au moins une personne sur Internet l'a dit, donc ça doit être vrai.
<Mise à jour -- 11 heures plus tard>
Ceci a été posté sur X. Je suppose que je suis un « grand-père reddit ». C'est très drôle.
Je remets quelques pendules à l'heure :
- oui, claude m'a permis d'uploader un EXE
- vb est un pcode. l'exe compilé a quelques chaînes de caractères reconnaissables, mais pas beaucoup.
- C'est Claude qui a écrit ce post et le titre. C'est la meilleure partie, en plus de la photo unique.
- l'application vb est simple. elle joue des fichiers wav et affiche du texte lorsque ma fille de 29 ans tape sur le clavier.
J'ajoute le lien du chat car certaines personnes ne le voient pas dans les commentaires.
<Mise à jour - 1 jour plus tard>
Ce repost sur Twitter/X a généré plus d'un million de vues pour u/deedydas. L'article complet est ici. J'ai téléchargé le message avec tous les commentaires à Claude - dans le même contexte où il avait créé le script et le message. Je lui ai spécifiquement demandé de résumer les critiques. Voici les mots abrégés de Claude :
Contexte technique valable
Certains ont souligné à juste titre que les exécutables VB4 se compilent en code p (et non en code machine), ce qui les rend plus faciles à analyser que des exécutables entièrement compilés. C'est exact - VB avant .NET stockait une forme de bytecode interprétable, ce qui rend l'extraction d'informations plus facile qu'à partir de binaires entièrement compilés.
Scepticisme à l'égard de la complexité
D'autres ont noté que le code Python résultant était relativement simple (environ 100 lignes). C'est juste - l'application elle-même était un programme simple avec des fonctionnalités de base, pas une application complexe. Ce qui est impressionnant, ce n'est pas la complexité du code produit, mais plutôt l'absence d'effort pour passer du code binaire au code fonctionnel.
Une mauvaise compréhension du processus
Plusieurs critiques ont semblé penser que Claude avait « décompilé » l'exécutable au sens traditionnel du terme. En réalité, comme je l'ai décrit lors de notre conversation, il a analysé les chaînes de caractères visibles et en a déduit la fonctionnalité - ce qui est toujours impressionnant mais différent d'une véritable décompilation.
Scepticisme général à l'égard de l'IA
Dans les milieux technologiques, les capacités de l'IA suscitent un scepticisme naturel, certains commentateurs rejetant par réflexe toute démonstration impressionnante en la qualifiant de fausse, d'exagérée ou de « simple correspondance de motifs ». Il s'agit là d'une réaction courante aux progrès de l'IA.
La critique que je trouve la plus raisonnable est que la réalisation doit être contextualisée - Claude n'a pas effectué une véritable analyse binaire d'un code compilé arbitraire, mais a plutôt fait des déductions intelligentes à partir de chaînes de texte dans un exécutable VB.
Et vous ?


Voir aussi :



Vous avez lu gratuitement 17 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.