Il y a un moment, dans la vie d'un vieux logiciel, où la question n'est plus « comment le fait-on évoluer ? » mais « où sont passées les sources ? ». Le développeur est parti, le serveur de fichiers a été migré deux fois, et il reste un .exe qui tourne depuis 1999 sans faillir — et que personne n'ose plus toucher.

C'est pour ce moment-là que VBReFormer Online existe. Vous déposez le binaire dans votre navigateur. Vous repartez avec un projet .vbp que Visual Basic 6 rouvre.

Essayer maintenant → vb.decompiler.tools

Ce n'est pas l'ancien VBReFormer dans une page web

C'est le point important, et il mérite d'être dit franchement : VBReFormer Online n'est pas un habillage. Il tourne sur VBReFormer V7, un moteur réécrit intégralement, en .NET, à partir de zéro — et adossé à dix ans de rétro-ingénierie du format VB6 et du runtime MSVBVM60.

Le décompilateur historique nous a nourris pendant une décennie : sa connaissance du runtime, ses idiomes d'appel, sa machine virtuelle d'analyse. V7 en hérite la sémantique et jette l'implémentation. Le désassemblage passe par Iced, le moteur de flot de contrôle est générique et testé en isolation, et l'ensemble est verrouillé par 3 849 épreuves automatisées qui tournent à chaque modification.

Ce qui est gratuit — et ce n'est pas une démo bridée

Nous avons pris une décision inhabituelle : le socle gratuit va très loin, et il va loin délibérément.

Gratuit, sans compte, sans rien présenterSous licence
Ouvrir un .exe, .dll ou .ocx VB5/VB6
Parcourir la structure complète du projet
Le désassemblage x86 entier, symboles résolus
Le P-code entier, opcodes de la machine virtuelle VB6
La section concepteur de chaque formulaire
Les ressources, la carte du format, les correctifs binaires
Le .vbp reconstruit
La source VB6 reconstruite, en aperçu — signature, types, déclarations et flot réelsLa source complète
L'export de l'archive rechargeable dans l'IDE
L'établi : inventaire des symboles, références croisées, renommage global, graphes

Pourquoi si loin ? Parce que la qualité d'un décompilateur ne se démontre pas dans une brochure. Là où un concurrent affiche sub_401A30, VBReFormer affiche CAHash.Insert. Vous devez pouvoir le constater avant de payer, sur votre binaire.

Et l'aperçu n'est pas une maquette : c'est la décompilation réelle, sans retouche. Signature, types inférés, déclarations et flot de contrôle reconstruit sont là. Seul le contenu des instructions est retenu.

Ce que le studio sait faire

L'arbre du projet — formulaires, modules, classes, contrôles utilisateur, procédures. Chargé paresseusement : sur un binaire à deux cents procédures, on n'attend pas ce que personne ne regardera.

Trois façons d'entrer dans un binaire, et elles ne se remplacent pas : l'arbre suit la STRUCTURE, l'inventaire des symboles suit les NOMS, la recherche suit le TEXTE. Sur SETUP1.EXE, 227 procédures ne se parcourent pas à l'œil.

L'inventaire des symboles distingue ce qui est LU de ce qui est SYNTHÉTISÉ. Sur SETUP1, il y a 147 noms lus du binaire — des faits — pour 1 182 emplacements que le binaire ne nomme pas. Savoir lequel on regarde dit sur quoi on peut s'appuyer, et c'est par les 147 qu'on commence.

L'éditeur est Monaco, avec une grammaire VB6 écrite pour lui — pas le VB.NET fourni par défaut. Ctrl+clic va à la définition, F2 renomme globalement : les sites d'appel des autres modules suivent.

Les graphes — qui appelle quoi, et par où passe l'exécution. Le flot de contrôle affiche le code de chaque bloc, dans cinq représentations : forme seule, IR, VB6, assembleur, P-code. Les deux dernières sont le listing machine découpé par adresse de bloc.

L'export rend une archive .zip : .vbp, .bas, .cls, .frm, en ANSI, comme l'IDE les attend.

Onze langues, et une décision sur le vocabulaire

Le studio parle anglais, français, espagnol, italien, allemand, portugais, japonais, hindi, chinois simplifié, arabe et ukrainien. La langue se négocie depuis votre navigateur ; un sélecteur en tête de page la change à chaud, sans perdre le binaire ouvert. L'arabe retourne la mise en page entière.

Le titre de la page d'accueil dit « vos sources VB6, reconstruites depuis l'exécutable ». Pas « récupérées ». La distinction n'est pas de la modestie : les noms de variables locales, les commentaires et la mise en page ne sont pas dans l'exécutable et ne peuvent pas en être tirés. On reconstruit une source équivalente. Là où une valeur ne peut pas être rétablie avec certitude, VBReFormer écrit un marqueur ? plutôt qu'une valeur plausible.

C'est la règle qui gouverne tout le produit : une valeur plausible et fausse est le pire résultat qu'un décompilateur puisse produire.

Ce que devient votre binaire

Vous déposez du code d'entreprise. Nous le disons donc en clair, et nos conditions d'utilisation le répètent :

  • il est analysé en mémoire, le temps de votre session
  • rien n'est conservé — ni le binaire déposé, ni le projet reconstruit ; fermer la session efface les deux
  • le service retient quels programmes ont été analysés, sous la forme d'une empreinte de leur contenu — un nombre qui identifie un fichier sans permettre de le reconstituer ni d'en connaître le nom. Ces informations sont conservées un an, puis effacées
  • le journal ne contient ni le nom de votre fichier, ni son contenu, ni le code reconstruit

« Bêta » veut dire quelque chose

Nous préférons le dire que le faire découvrir :

  • Une seule instance. Le service ne monte pas encore en charge ; aux heures pleines, une session peut être refusée plutôt que servie lentement. Refuser le visiteur suivant vaut mieux que redémarrer pour tout le monde
  • Une session par visite. Un redémarrage du service ferme les sessions ouvertes
  • 64 Mo par binaire. Assez pour l'écrasante majorité des programmes VB6 ; dites-le-nous si vous butez dessus
  • La recompilation n'est pas garantie. Sur notre banc de 108 projets exportés, 27 se recompilent tels quels dans VB6 aujourd'hui. C'est notre critère de qualité principal, il est mesuré à chaque version, et il monte. Les autres demandent une intervention — souvent une seule cause, souvent réparable en quelques minutes

Ce dernier chiffre, nous aurions pu ne pas l'écrire. Nous le publions parce que c'est celui que vous devez connaître pour décider.

Et le bureau ?

VBReFormer V7 — l'application de bureau — sort très bientôt. Elle ajoute ce qu'un navigateur ne peut pas offrir : l'explorateur d'objets et de TypeLib, le navigateur d'API Win32, la vue hexadécimale, les signets, l'export du concepteur en image, et le travail hors ligne.

Une licence desktop+cloud ouvre les deux.

Déposer un binaire → vb.decompiler.tools