Browse to a folder
Pick the folder where the old program lives — or a whole drive. Sub-folders are scanned automatically.
Before anything can be recovered, you need to know what built it. VBScanner is our free Windows utility: point it at a folder and it identifies every EXE, DLL and OCX made with any Visual Basic from 1 through 6 — 16-bit or 32-bit — plus twinBASIC, QuickBASIC and .NET, and tells you whether each one is P-Code, native code or IL. It reads the file headers directly, the same way our recovery engine does.
A single small executable. Scans folders recursively, shows every Basic-family and .NET program it finds with its detected runtime and code kind — P-Code, native or IL — and skips everything else. Nothing leaves your machine — it reads file headers locally, full stop.
No configuration and no guesswork — detection comes straight from the program's own headers, whether it's a modern PE, a 16-bit NE, or a DOS-era MZ file. Never the file name or icon.
Pick the folder where the old program lives — or a whole drive. Sub-folders are scanned automatically.
Choose the file types (EXE / DLL / OCX) and runtimes you care about — VB1–VB6, .NET, QuickBASIC, twinBASIC — hit Scan, and watch the list fill in.
Every hit is listed with its detected runtime and code kind — P-Code, native or IL. If it shows up here — we can likely recover it.
| VBScanner reports | How it knows | Recoverable? |
|---|---|---|
| Visual Basic 6 | Imports MSVBVM60.DLL; P-Code vs. native read from
the VB5! header |
✓ yes — our specialty (native & P-Code) |
| Visual Basic 5 | Imports MSVBVM50.DLL |
✓ yes |
| Visual Basic 4 — 32-bit | Imports VB40032.DLL |
✓ yes |
| Visual Basic 4 — 16-bit | The NE module table names VB40016 |
✓ yes |
| Visual Basic 3 / 2 / 1 | The NE module table names VBRUN300 / 200 / 100 |
✓ yes |
| QuickBASIC — DOS | The runtime's own error strings, or the BRUN
runtime the EXE names — EXEPACK-compressed files still detected |
✓ yes — QB 4.5 |
| twinBASIC — 32 / 64-bit | No VB runtime imports, but the compiler's own marker strings are present | ✓ yes — forms & names |
| .NET — 32 / 64-bit / AnyCPU | The PE header's CLR descriptor is present | ✓ yes — to C# or VB.NET |
| Not listed | Native C/C++ or a packed stub | see the note below ↓ |
A few things can hide a program from the scan: DOS QuickBASIC EXEs
packed with LZEXE or PKLITE conceal their runtime strings
(Microsoft EXEPACK is handled fine), and some packed 32-bit files show
an empty code-kind column when the VB5! header can't be
followed. .NET files are reported by bitness only — the language (VB.NET
vs. C#) isn't distinguished until recovery.
If your program isn't detected but you believe it's Visual Basic or QuickBASIC era software, send us the details — the evaluation is free either way.
VBScanner reads file headers on your machine and sends nothing anywhere. Your files never leave your network until you decide to talk to us.
Reads PE, 16-bit NE and DOS MZ headers, reports what built each file, and nothing else — no network access, no telemetry, no installer, nothing written outside its own folder.
Windows with the VB6 runtime and mscomctl.ocx (present on
most systems; included with many common applications). If the program
won't start, the README in the zip covers it.
That's the hard part done — you know what it is, and we know how to bring its source code back.