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 VB decompiler that recovers your VB5 and VB6 source code

A decompiler for Visual Basic 5 and 6 binaries: it recovers the source code, forms and resources of an EXE, DLL or OCX, P-Code and native code alike, and rebuilds a project you can reopen in the IDE. Disassembler and compiled-UI editor included.

745,773+ 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


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

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

Professional & Enterprise

Decompiler: native code and P-Code

The decompiler translates compiled code back into readable Visual Basic. As of generation 2 it handles P-Code as well as Native Code — both of VB6's compilation modes.

  • Machine code → Visual Basic reconstruction
  • Reconstructs runtime calls (MSVBVM60.dll)
  • 15,680 Win32 API declarations, 6,442 constants, 422 types
  • 121 of 149 projects recompile untouched
  • Syntax-highlighted VB output
Note: as of VBReFormer 7, both P-Code and Native Code are decompiled. The previous generation reconstructed Native Code only.

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
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

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 €

General
Visual Basic 5 & 6 support
Supported formats: .exe .dll .ocx .scr
Windows 10 → Windows 11
Free product updates
Online documentation & user guide
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
Disassembler
Procedure identification (Forms, Modules, Classes…)
Machine code → assembly disassembly
Assembly & VB syntax highlighting
Search engine across disassembly
Decompiler (P-Code and Native Code)
Machine code → Visual Basic reconstruction
Reconstructs runtime calls (MSVBVM60)
15,680 Win32 API declarations, 6,442 constants, 422 types
121 of 149 projects recompile untouched
Design Editor
Edit control properties in compiled binary
No size limitation (unique feature)
Replace embedded resources (images, icons)
Add hidden properties without recompilation
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

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.

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.

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.

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.

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.

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.

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

No, and it is not planned. VBReFormer handles Visual Basic 5 and 6: .exe, .dll, .ocx and .scr. For .NET, free and open-source decompilers do that job better than a paid tool would.

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.

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 →