There were many milestones in the evolution of VB Decompiler: p-code decompilation, native code decompilation, .NET disassembling, VB Decompiler porting from VB6 to Delphi, adding functions for native code tracing without launching the program under study, etc. Seemingly now we could just sit back and confine ourselves to polishing the decompiler. But practice has shown that software developers using VB Decompiler badly wanted the ability to display restored forms or User Controls. Starting from version 10.5, VB Decompiler supports visualization of restored forms and User Controls! So now you don't have to carefully read the textual representation of a form to figure out which objects it includes and what it does in the program. VB Decompiler will simply show you the form as it is!
We've done a great deal of work, and the new VB Decompiler will pleasantly surprise you! It supports nearly all standard components (except for Menu and Line, support for which will be added in a later version). It correctly handles hundreds of very different and complex properties, from fonts and object colors to embedded OLE Blob objects and images. The new VB Decompiler fully supports these image formats: ICO, CUR, BMP, JPG, PNG, and GIF. All images are displayed on the fly, without any actions by the user!
Needless to say, VB Decompiler takes into account such things as inherited object properties, default properties, and many more. It correctly handles even such properties as List, Strings, Items, and other textual or binary data contained in .frx files when displaying such objects as ListBox, ComboBox, etc. We have also extended support for languages other than English. Even though almost all string properties in VB6 controls contain ANSI strings, VB Decompiler will correctly detect the language used and convert each string to Unicode. As a result, you will see the text in the correct language, even if your system's local language is completely different.
We could go on and on about the improvements in VB Decompiler. We have greatly optimized memory usage, rebuilt and optimized many internal structures, and fixed memory leaks. As a result, the new VB Decompiler has a fraction of the memory footprint of the earlier versions when decompiling small projects. It uses 40 percent less memory than the earlier versions when decompiling huge projects (containing more than 500 forms and more than 100,000 functions).
When opening files or decompiled code databases (.vdd files), an earlier version of VB Decompiler would open a dialog box with the default folder, which was often inconvenient. The new VB Decompiler opens the last used folder. Besides, double-clicking a decompiled code database (a .vdd file) would launch an earlier version of VB Decompiler in the background, and its main window would only become visible after loading the database. If the database contained a lot of code, the process could take a few minutes, which was surely annoying. The new VB Decompiler's main window is displayed immediately, and you can see the database loading progress.
We have also added support for more coprocessor instructions and optimized the handling of flags (cmp, set, etc.). We have improved the form parser to add support for some rarely-used properties. We have added more localizations: The user interface has been translated to Danish and Brazilian Portuguese, and the help system has been translated to Danish. We have improved Russian code page detection. We have fixed the search for the "VB5!" signature in nonstandard files. We have also improved the saving of the results of large .NET project disassembling to the database.
I was happy to present all these useful changes made to VB Decompiler. If you have an active subscription for updates, you can download the new version via the customer's panel; otherwise you can purchase it via this page.
(C) Sergey Chubchenko, VB Decompiler's main developer