Decompiler-VB.Net
EN
Login
VBReFormer Gen2 Engine rewritten from scratch, full P-code, and the online studio in public beta. Read the announcement →
Home

Product

VBReFormer, the native and P-Code VB decompiler for your VB5 and VB6 applications

Generation 2: the most capable native and P-Code decompilation. The engine interprets machine code and P-Code, both VB6 compilation modes, instead of matching patterns. It recovers the source code, forms and resources of an EXE, DLL or OCX and rebuilds a project that opens in the IDE. On a 9.35 MB reference binary: 1,976 procedures written, 0 empty bodies, 0 error markers, in 12 seconds.

746,177+ downloads 27 years of expertise
.exe.dll.ocx.scrVB5 VB6 native code and P-Code

Trusted by

and public bodies, defence laboratories and universities on five continents


Decompiled code example

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

Generation 2 · All editions

The most capable native and P-Code decompiler

The generation 2 decompiler does not match patterns: it interprets the code, registers, virtual memory and FPU stack included, then translates it back into readable Visual Basic. It handles Native Code and P-Code alike, both VB6 compilation modes, and its output is measured against the original source.

  • Abstract interpretation of machine code, in place of pattern matching
  • 1,164 defined P-Code instructions, 1,158 translated to VB6
  • Reconstructs runtime calls (MSVBVM60.dll)
  • 15,680 Win32 API declarations, 6,442 constants, 422 types
  • Type inference, recovered names, array bounds, Select Case jump tables
  • Four VB6 optimisation profiles covered and measured separately
Note: as of VBReFormer 7, both P-Code and Native Code are decompiled. The previous generation reconstructed Native Code only.

90% of the source code recovered on average. Local variable names and private symbols are not stored in the binary and are outside this figure.

Measured on a 9.35 MB reference binary, compared with its original source

Generation 1 Gen2 (V7)
Procedures written at export 1 799 1 976
Empty body where the source is not 229 0
Error markers left in the rendered code 1 129 0
Signatures rendered as « As Unknow » 75 014 0
Open → project written ≈ 88 s 12 s

121 of the 149 projects of a test bench recompile as-is in the Visual Basic 6 IDE.

One licence covers both generations: VBReFormer 7 (Windows 10 and 11) and generation 1 (Windows XP to 11) are downloaded from the same account.

See the coverage, function by function
Generation 2 · All editions

Around the decompiler: analysis and navigation

The rendered code comes with its tools: x86 and P-Code disassembler, call and control-flow graphs, symbol inventory, global rename, hex view. What the engine read and what it synthesised stay told apart.

Machine code → assembly disassembly
Call graph — three scales, caller / callee filters
Control-flow graph, unreachable blocks included
Symbol inventory — names read versus names synthesised
Global rename — call sites in other modules follow
Annotated hex view and binary patches
Type inference, propagated to bodies and conditions
Headers VB6 requires to reopen a file
All editions

UI design extraction

VBReFormer extracts every visual design artifact from your compiled binary, even without the original project files.

  • Extracts the VB project file (.vbp)
  • Extracts forms and controls (.frm, .ctl, .pag)
  • Extracts binary resources (.frx, .ctx, .pgx)
  • Identifies all external COM, OLE and ActiveX components
  • Extracts embedded images and icons

Reconstructed output

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 · All editions

Compiled UI Design Editor

The only tool on the market that lets you edit a compiled VB5/VB6 UI without any size limitation. Change control properties, fix captions, replace images — all directly on the compiled binary.

  • Edit control properties in compiled binary
  • No size limitation (unique feature)
  • Replace embedded bitmaps and icons
  • Add hidden properties without recompilation
  • Export individual resources for reuse

Editing inside the binary is done by generation 1, supplied with the licence. Generation 2 reads a form's surface and all its properties, without writing them back yet.

Editable properties

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

Editions

Feature comparison

All editions include every technical feature. The difference is the license scope — how large the beneficiary organization is.

Editions

Small Business

Home / Education

79 €

Popular

Medium Business

10–249 Max organization size

349 €

Large Business

Gov · Military · 250+

799 €

Decompiler (P-Code and Native Code)
Machine code → Visual Basic reconstruction
P-code reconstruction → Visual Basic
1,164 defined P-Code instructions, 1,158 translated to VB6
Reconstructs runtime calls (MSVBVM60)
15,680 Win32 API declarations, 6,442 constants, 422 types
Type inference, propagated to bodies and conditions
121 of 149 projects recompile untouched
Disassembler
Procedure identification (Forms, Modules, Classes…)
Machine code → assembly disassembly
Assembly & VB syntax highlighting
Search engine across disassembly
UI design extraction
Extracts the project file (.vbp)
Extracts forms (.frm, .ctl, .pag)
Binary resource files (.frx, .ctx, .pgx)
COM / OLE / ActiveX component identification
Embedded image & icon extraction
Design Editor
Edit control properties in compiled binary
No size limitation (unique feature)
Replace embedded resources (images, icons)
Add hidden properties without recompilation
General
Visual Basic 5 & 6 support
Supported formats: .exe .dll .ocx .scr
Windows 10 → Windows 11
Free product updates
Online documentation & user guide
License scope
Max organization size < 10 employees · revenue < €1M 10–249 employees · revenue < €50M 250+ employees · unlimited
Use type Personal · Academic · Non-profit Commercial professional Commercial · Gov. · Military
Installation Per user or per computer Per user or per computer Per user or per computer
Choose your license Get a license → Get a license → Get a license →

Licence valid for 1, 2 or 3 years depending on the term chosen at checkout, support and updates included for the whole period. VAT not applicable — art. 293 B of the French tax code.

Try it free first — the Free edition shows what the engine reconstructs from your binary → · Or try it online, nothing to install → · Documentation

100% French

Designed and developed in France

VBReFormer is designed, built and maintained in France, between Toulouse and Savoie — French and European reverse-engineering expertise, with no reliance outside Europe.

Toulouse

Haute-Garonne · Occitania

Savoie

Auvergne-Rhône-Alpes

The right tool for the right job

.NET, C# or VB.NET? Free tools like dnSpy or ILSpy handle it very well. Our specialty is Visual Basic 5 & 6 — the genuinely hard problem, and the only one we aim to solve better than anyone.

Why this focus →

Frequently asked questions

What is the difference between P-Code and Native Code?

VB6 compiles either to P-Code (pseudo-code run by the virtual machine) or to Native Code (x86 machine instructions, the default setting). As of generation 2 (VBReFormer 7), the same engine decompiles both into readable Visual Basic: 1,158 of the 1,164 defined P-Code instructions are translated, a measurement published on the coverage page. The previous generation reconstructed Native Code only.

Does the engine match patterns, or does it interpret the code?

It interprets. Generation 1 matched patterns in the compiled code and rendered only what it recognised. Generation 2 interprets machine code and P-code alike to reconstruct expressions and types; what it cannot reconstruct is neither dropped nor guessed, it is named and explained in the export notes.

Can VBReFormer decompile any VB6 program?

VBReFormer analyses every executable compiled with Visual Basic 5 or 6, in P-Code as well as Native Code. The interface — forms, controls, resources — is extracted in full in every case. Code reconstruction depends on what the binary kept: the free edition shows you that on your own file, before any purchase.

Does the decompiled code recompile in the Visual Basic 6 IDE?

Often: on a bench of 149 projects, 121 recompile untouched. The export writes the headers the IDE requires (VERSION, Attribute VB_Name), without which VB6 rejects the file. What could not be reconstructed is named and explained in the export notes rather than filled with a plausible value.

What is recovered from an executable, and what is lost for good?

Whatever Visual Basic needs at run time is in the file and comes back: names of forms, classes, modules and controls, event handlers, public class members, interface properties, runtime calls, API declarations. What the compiler threw away cannot be recovered, by any tool: comments, names of local variables and parameters, named constants replaced by their value, and the names of procedures in .bas modules. On average, 90% of the source code is recovered; what is missing comes down to those elements, absent from the file.

What if decompilation doesn't work on my binary?

That is exactly what the free edition is for: it shows you, on YOUR file and before any purchase, what can be extracted — forms, resources, project structure. We always recommend trying it first. As licenses are digital content delivered immediately, sales are final; if you hit a technical issue, our support will work with you on a solution.

Is there a free version?

Yes, and without buying anything. The free desktop edition is the same installer as the licensed one: it extracts the full interface (forms, resources, project structure) and shows a preview of the decompiled code, with no time limit. The online studio, served in eleven languages, does the same in the browser with nothing to install: disassembly, P-code, designer, .vbp project and resources are served in full, the reconstructed source code as a preview. The licence unlocks the complete code and the project export.

How long is the licence valid?

For the term you choose at purchase: one, two or three years. Email support and every update released during that period are included, at no extra cost. When it expires, access ends and you can take out a new licence. The free edition remains usable with no time limit.

Is it legal to decompile a program?

Yes, when you own the rights to the software — the typical case being reconstructing your own lost source code — or within the legal framework of interoperability. You must hold the necessary rights to the analyzed program.

Does VBReFormer decompile .NET, VB.NET or C#?

No. VBReFormer handles Visual Basic 5 and 6: .exe, .dll, .ocx and .scr. A .NET assembly needs a .NET decompiler; we compare several on the blog.

Choose your license

Answer 2 questions about your profile and we'll select the right edition for you — in under 30 seconds.

Start the selection →