VB Decompiler is an application which can reconstruct Visual Basic 5.0/ 6.0 source code (to some extent) from the compiled P-Code or native executable. (This free Lite build only disassembles it, but that can still be useful.)
This can be a life-saver if you're a programmer, and have lost your original source, as VB Decompiler should be able to recover at least some of it for you.
The application is also useful when you need to analyse what a program does. VB is sometimes used to write malware, for example, and by decompiling the executable you're able to get many more details on how it works.
VB Decompiler Lite's opening interface is very straightforward. Click the "Browse" button, choose your target executable, and wait a few seconds for the results to appear.
A left-hand pane displays a tree of your project structure. Forms expand to reveal controls, and you're able to browse modules and individual procedures.
Click any of these in VB Decompiler Lite and you'll see a disassembly of the relevant code. Most of it won't mean very much, even to experts (it's all "mov eax, arg_8", "mov ecx, var_34", "mov [eax], ecx" and so on), but the program helps out by expanding references to strings, functions and so on.
So, for example, in our test project VB Decompiler Lite expanded "call [00401078h]" to add "On Error Resume Next()"; "mov edx, 004554ACh" was actually a pointer to the string "SELECT Index,Caption FROM Win32_DiskDrive WHERE Size > 0", and "call [00401144h]" turned out to be the function "Open %x4 For <?open?>%x1 <?open?> As #%x3 Len = %x2".
Paying for the commercial version also gets you a Decompiler tab with a reconstruction of the original code, as much as possible. If your executable was compiled to native code then there are limits on what VB Decompiler can do, and you shouldn't expect to just save and open it in VB as before, but there's more than enough here to help you understand how it works.
Version 10.5 (Changelog):
- GUI designer for Forms and UserControls with support of Unicode, frx captions,
frx graphic icons and images. A lot of properies already supported!
- Optimized parsing of compared operands cmp, set, etc (Native Code)
- Emulator supports faddr, fsubr, fmulr, fdivr, faddrp, fsubrp, fmulrp, fdivrp (Native Code)
- Parse icon properties in forms with incorrect content
- Open file/database dialog use last open directory (not root directory of VB Decompiler)
- Russian codepage fix (windows return 866, except 1251 for LanguageID 1049)
- Show loading and decompiling progress and status if file or
VDD database opened from command line
- Jump history now works not only for functions, but for Forms and UserControls too
- Decompilation speed increased
Understandably, as a free edition VB Decompiler Lite doesn't you the decompiled code view. But the Disassembler pane is more useful than we expected, and even if you ignore that, the program can still show you the project structure, properties, form/ control/ procedure names, string references, and more.