C'est un scénario que nous voyons chaque semaine : une application Visual Basic 6 tourne en production depuis quinze ou vingt ans, elle est critique pour l'activité — mais son code source a disparu. Le prestataire a fermé, le poste du développeur a été formaté, ou les fichiers .vbp et .frm dormaient sur un serveur qui n'existe plus. Bonne nouvelle : tant que vous avez l'exécutable, tout n'est pas perdu.
Ce que contient réellement un .exe VB6
Un exécutable Visual Basic 6 n'est pas une boîte noire opaque. Il embarque bien plus d'informations qu'on ne le croit :
- La structure complète de l'interface : formulaires, contrôles, menus, avec toutes leurs propriétés ;
- Les ressources embarquées : images, icônes, chaînes de caractères ;
- La logique compilée, sous forme de P-Code ou de code machine natif selon le mode de compilation ;
- Les références aux composants COM, OCX et ActiveX utilisés.
La décompilation consiste à faire le chemin inverse de la compilation : reconstruire, à partir de ces données, des fichiers exploitables dans l'environnement de développement.
La méthode, étape par étape
1. Identifier le mode de compilation. Avant tout, déterminez si votre binaire est en P-Code ou en Code Natif : c'est ce qui conditionne la stratégie de récupération. Nous détaillons cette distinction dans cet article dédié. Dans 9 cas sur 10, il s'agit de Code Natif.
2. Récupérer l'interface. C'est la partie la plus fiable : VBReFormer reconstruit intégralement les formulaires (.frm), contrôles utilisateur (.ctl) et ressources (.frx), même sans aucun fichier source d'origine. Vous retrouvez vos écrans à l'identique.
3. Décompiler la logique. Sur du Code Natif, le décompilateur traduit les instructions machine x86 en Visual Basic lisible : appels au runtime, déclarations d'API Win32, structure des procédures. La récupération de la logique n'est jamais garantie à 100 %, mais elle fournit une base de travail considérable par rapport à une réécriture depuis zéro.
4. Reconstituer le projet. En assemblant l'interface récupérée et le code décompilé, vous reconstituez un projet VB6 ouvrable, compilable et maintenable.
Commencez par un diagnostic gratuit
Avant tout engagement, la version gratuite de VBReFormer vous permet d'ouvrir votre exécutable, d'identifier son mode de compilation et d'inspecter l'interface et les ressources récupérables. Vous savez ainsi exactement ce qui est récupérable avant de décider quoi que ce soit.
Pour aller plus loin — décompilation complète du code natif et reconstruction du projet — VBReFormer couvre l'ensemble de la chaîne. Et si votre besoin est simplement de modifier l'interface sans tout reconstruire, c'est également possible directement dans le binaire.
Assurez-vous de détenir les droits sur l'application concernée — le cas le plus courant étant la récupération de votre propre logiciel.