Decompiler-VB.Net
FR
Connexion
VBReFormer Gen2 Moteur entièrement réécrit, P-code complet, et le studio en ligne en bêta publique. Lire l'annonce →
Accueil

Produit

VBReFormer, VB decompiler natif et P-Code pour vos applications VB5 et VB6

Génération 2 : la décompilation native et P-Code la plus performante. Le moteur interprète le code machine et le P-Code, les deux modes de compilation de VB6, au lieu d'y reconnaître des motifs. Il rend le code source, les formulaires et les ressources d'un EXE, d'une DLL ou d'un OCX, et reconstruit un projet qui s'ouvre dans l'IDE. Sur un binaire témoin de 9,35 Mo : 1 976 procédures écrites, 0 corps vide, 0 marqueur d'erreur, en 12 secondes.

746 261+ téléchargements 27 ans d'expertise
.exe.dll.ocx.scrVB5 VB6 code natif et P-Code

Ils nous font confiance

et des administrations, des laboratoires de défense et des universités sur cinq continents


Exemple de code décompilé

Private Sub Form_Load()

Dim nRetVal As Long

Dim sBuffer As String

nRetVal = GetProfileStringA(

"Settings", "Language", "EN",

sBuffer, 255)

If nRetVal > 0 Then

Me.Caption = sBuffer

End If

End Sub

Génération 2 · Toutes éditions

Le décompilateur natif et P-Code le plus performant

Le décompilateur de la génération 2 ne reconnaît pas des motifs : il interprète le code, registres, mémoire virtuelle et pile FPU compris, puis le retraduit en Visual Basic lisible. Il traite le Code Natif comme le P-Code, les deux modes de compilation de VB6, et son résultat est mesuré contre la source d'origine.

  • Interprétation abstraite du code machine, à la place de la reconnaissance de motifs
  • 1 164 instructions P-Code définies, 1 158 traduites en VB6
  • Reconstruit les appels runtime (MSVBVM60.dll)
  • 15 680 déclarations d'API Win32, 6 442 constantes, 422 types
  • Inférence de types, noms récupérés, bornes de tableaux, tables de saut des Select Case
  • Quatre profils d'optimisation VB6 couverts et mesurés séparément
Note : depuis VBReFormer 7, le P-Code et le Code Natif sont l'un comme l'autre décompilés. La génération précédente ne reconstruisait que le Code Natif.

90 % du code source retrouvé en moyenne. Les noms de variables locales et les symboles privés ne sont pas stockés dans le binaire : ils n'entrent pas dans cette mesure.

Mesuré sur un binaire témoin de 9,35 Mo, comparé à sa source d'origine

Génération 1 Gen2 (V7)
Procédures écrites à l'export 1 799 1 976
Corps vide alors que la source ne l'est pas 229 0
Marqueurs d'erreur laissés dans le code rendu 1 129 0
Signatures rendues « As Unknow » 75 014 0
Ouverture → projet écrit ≈ 88 s 12 s

121 des 149 projets d'un banc de test se recompilent tels quels dans l'IDE Visual Basic 6.

Une licence couvre les deux générations : VBReFormer 7 (Windows 10 et 11) et la génération 1 (Windows XP à 11) se téléchargent depuis le même compte.

Voir la couverture, fonction par fonction
Génération 2 · Toutes éditions

Autour du décompilateur : analyse et navigation

Le code rendu se lit avec ses outils : désassembleur x86 et P-Code, graphes d'appels et de flot, inventaire des symboles, renommage global, vue hexadécimale. Ce que le moteur a lu et ce qu'il a synthétisé restent distingués.

Désassemblage code machine → assembleur
Graphe d'appels — trois échelles, filtres appelants / appelés
Graphe de flot de contrôle, blocs inatteignables compris
Inventaire des symboles — noms lus contre noms synthétisés
Renommage global — les sites d'appel des autres modules suivent
Vue hexadécimale annotée et correctifs binaires
Inférence de types, propagée au corps et aux conditions
En-têtes que VB6 exige pour rouvrir un fichier
Toutes éditions

Extraction de l'interface

VBReFormer extrait la totalité des artefacts de design visuel de votre binaire compilé, même sans les fichiers source originaux.

  • Extrait le fichier projet VB (.vbp)
  • Extrait les formulaires et contrôles (.frm, .ctl, .pag)
  • Extrait les ressources binaires (.frx, .ctx, .pgx)
  • Identifie les composants COM/OLE/ActiveX
  • Extrait les images et icônes embarquées

Sortie reconstruite

Form1.frm — main form extracted

Form1.frx — binary resources

Module1.bas — standard module

Class1.cls — class module

UserCtrl.ctl — user control

Project.vbp — project file

Unique · Toutes éditions

Éditeur de design UI compilé

Le seul outil sur le marché qui permet d'éditer une interface VB5/VB6 compilée sans limitation de taille. Modifier les propriétés, corriger les textes, remplacer les images — directement sur le binaire.

  • Édite les propriétés des contrôles dans le binaire compilé
  • Sans limitation de taille (unique)
  • Remplace les ressources embarquées (images, icônes)
  • Ajoute des propriétés cachées sans recompilation
  • Exporte les ressources individuellement

L'édition dans le binaire est assurée par la génération 1, fournie avec la licence. La génération 2 lit la surface d'un formulaire et toutes ses propriétés, sans encore les réécrire.

Propriétés éditables

Caption "My Application v2.1"
BackColor &H00FFFFFF&
Font.Name "Arial"
Font.Size 12
Width 5280
Height 3840
Icon [binary resource]

Éditions

Comparatif des fonctions

Toutes les éditions incluent l'intégralité des fonctions techniques. La différence réside dans le périmètre de la licence.

Éditions

Small Business

Home / Education

79 €

Popular

Medium Business

10–249 Taille max. de l'organisation

349 €

Large Business

Gov · Military · 250+

799 €

Décompilateur (P-Code et Code Natif)
Reconstruction Code Natif → Visual Basic
Reconstruction P-code → Visual Basic
1 164 instructions P-Code définies, 1 158 traduites en VB6
Reconstruction des appels runtime (MSVBVM60)
15 680 déclarations d'API Win32, 6 442 constantes, 422 types
Inférence de types, propagée au corps et aux conditions
121 projets sur 149 se recompilent sans retouche
Désassembleur
Identification des procédures (Forms, Modules, Classes...)
Désassemblage code machine → assembleur
Coloration syntaxique assembleur & VB
Moteur de recherche dans le désassemblage
Extraction de l'interface
Extraction du fichier projet (.vbp)
Extraction des formulaires (.frm, .ctl, .pag)
Ressources binaires (.frx, .ctx, .pgx)
Identification des composants COM/OLE/ActiveX
Extraction des images et icônes embarquées
Éditeur de design
Édition des propriétés dans le binaire compilé
Sans limitation de taille (unique)
Remplacement des ressources embarquées
Ajout de propriétés cachées sans recompilation
Général
Support Visual Basic 5 & 6
Formats supportés : .exe .dll .ocx .scr
Windows 10 → Windows 11
Mises à jour gratuites du produit
Documentation en ligne & guide utilisateur
Périmètre de licence
Taille max. de l'organisation < 10 salariés · CA < 1 M€ 10–249 salariés · CA < 50 M€ 250+ salariés · illimité
Type d'usage Personnel · Académique · Associatif Professionnel commercial Commercial · Admin. · Militaire
Installation Par utilisateur ou par ordinateur Par utilisateur ou par ordinateur Par utilisateur ou par ordinateur
Prêt à vous lancer ? Obtenir une licence → Obtenir une licence → Obtenir une licence →

Licence valable 1, 2 ou 3 ans selon la durée choisie à la commande, support et mises à jour inclus pendant toute la période. TVA non applicable — art. 293 B du CGI.

Essayez d'abord gratuitement — la version Free montre ce que le moteur reconstruit de votre binaire → · Ou essayez en ligne, sans rien installer → · Documentation

100% Français

Conçu et développé en France

VBReFormer est imaginé, développé et maintenu en France, entre Toulouse et la Savoie — une expertise française et européenne en rétro-ingénierie, sans dépendance hors d'Europe.

Toulouse

Haute-Garonne · Occitanie

Savoie

Auvergne-Rhône-Alpes

Le bon outil pour le bon problème

.NET, C# ou VB.NET ? Des outils gratuits comme dnSpy ou ILSpy le font très bien. Notre spécialité, c'est le Visual Basic 5 & 6 — le problème réellement difficile, et le seul que nous cherchons à résoudre mieux que quiconque.

Pourquoi ce choix →

Questions fréquentes

Quelle est la différence entre P-Code et Code Natif ?

VB6 compile soit en P-Code (pseudo-code interprété par la machine virtuelle), soit en Code Natif (instructions machine x86, le réglage par défaut). Depuis la génération 2 (VBReFormer 7), le même moteur décompile les deux vers du Visual Basic lisible : 1 158 des 1 164 instructions P-Code définies sont traduites, mesure publiée sur la page de couverture. La génération précédente ne reconstruisait que le Code Natif.

Le moteur reconnaît-il des motifs, ou interprète-t-il le code ?

Il interprète. La génération 1 reconnaissait des motifs dans le code compilé et ne rendait que ce qu'elle reconnaissait. La génération 2 interprète le code machine comme le P-code pour reconstruire des expressions et des types ; ce qu'elle ne peut pas reconstruire n'est ni jeté ni deviné, il est nommé et motivé dans les notes d'export.

VBReFormer peut-il décompiler n'importe quel programme VB6 ?

VBReFormer analyse tous les exécutables compilés avec Visual Basic 5 ou 6, en P-Code comme en Code Natif. L'interface — formulaires, contrôles, ressources — est extraite intégralement dans tous les cas. La reconstruction du code, elle, dépend de ce que le binaire a conservé : la version gratuite vous le montre sur votre propre fichier, avant tout achat.

Le code décompilé se recompile-t-il dans l'IDE Visual Basic 6 ?

Souvent : sur un banc de 149 projets, 121 se recompilent sans retouche. L'export écrit les en-têtes que l'IDE exige (VERSION, Attribute VB_Name), sans lesquels VB6 refuse le fichier. Ce qui n'a pas pu être reconstruit est nommé et motivé dans les notes d'export plutôt que comblé par une valeur vraisemblable.

Que récupère-t-on d'un exécutable, et que perd-on définitivement ?

Ce dont Visual Basic a besoin à l'exécution est dans le fichier et se retrouve : noms des formulaires, classes, modules et contrôles, gestionnaires d'événements, membres publics des classes, propriétés d'interface, appels au runtime, déclarations d'API. Ce que le compilateur a jeté ne se retrouve pas, par aucun outil : les commentaires, les noms de variables locales et de paramètres, les constantes nommées remplacées par leur valeur, et les noms des procédures de modules .bas. En moyenne, 90 % du code source est retrouvé ; ce qui manque tient à ces éléments, absents du fichier.

Et si la décompilation ne donne rien sur mon binaire ?

C'est précisément le rôle de la version gratuite : elle vous montre, sur VOTRE fichier et avant tout achat, ce qui peut être extrait — formulaires, ressources, structure du projet. Nous vous recommandons de toujours l'essayer d'abord. Les licences étant des contenus numériques livrés immédiatement, les ventes sont définitives ; en cas de difficulté technique, notre support cherche une solution avec vous.

Existe-t-il une version gratuite ?

Oui, et sans rien acheter. L'édition gratuite de bureau est le même installeur que l'édition licenciée : elle extrait l'interface complète (formulaires, ressources, structure du projet) et montre un aperçu du code décompilé, sans limite de temps. Le studio en ligne, servi en onze langues, fait de même dans le navigateur, sans rien installer : désassemblage, P-code, concepteur, projet .vbp et ressources y sont servis en entier, le code source reconstruit en aperçu. La licence ouvre le code complet et l'export du projet.

Combien de temps la licence est-elle valable ?

Pour la durée que vous choisissez à l'achat : un, deux ou trois ans. Le support par email et toutes les mises à jour publiées pendant cette période sont inclus, sans supplément. À l'échéance, l'accès cesse et vous pouvez souscrire une nouvelle licence. L'édition gratuite, elle, reste utilisable sans limite de durée.

Est-il légal de décompiler un programme ?

Oui lorsque vous détenez les droits du logiciel — le cas typique étant la reconstruction de votre propre code source perdu — ou dans le cadre légal de l'interopérabilité. Vous devez disposer des droits nécessaires sur le programme analysé.

VBReFormer décompile-t-il le .NET, VB.NET ou C# ?

Non. VBReFormer traite Visual Basic 5 et 6 : .exe, .dll, .ocx et .scr. Pour un assembly .NET, il faut un décompilateur .NET ; nous en comparons plusieurs sur le blog.

Prêt à vous lancer ?

Répondez à 2 questions sur votre profil et nous sélectionnons l'édition adaptée — en moins de 30 secondes.

Démarrer la sélection →