With each new release of VB Decompiler, we greatly improve decompilation quality. Version 10.6 is yet another confirmation to that fact. We have done a lot of tests to identify previously unsupported rarely-used MSVBVM60.DLL functions, statements, and combinations of different procedures. After spending a great deal of time and effort, we can firmly say that now VB Decompiler supports even more functions of the runtime library.
That's no small feat. The new VB Decompiler does its job much better than any previous version. With each new release, we add support for more and more MSVBVM functions and their varieties. The list of supported functions has been growing for years, but in this particular version the improved decompilation quality can be seen when decompiling almost any file.
As usually, most of the changes in the new version are about native code decompilation. Though the quality of p-code decompilation was already very high, we continued to polish it; the majority of improvements are related to the most frequently-used methods and events of COM objects.
Just recently we have added support for Select Case. Despite all the tests that we had done, a weird case was identified by a user: The compiler could add Else even if the programmer did not use it! The compiler did it to prevent an incorrect jump within the array of Select Case addresses; it would use the address following Select Case, that is, the default value for jumping to a missing Case address. Now VB Decompiler supports even this compiler optimization!
As you probably know, VB Decompiler can disassemble .NET assemblies (VB, C#, etc.). But not many VB Decompiler users know that it allows you to view the entire tree of 45 .NET internal structures of the "~" heap! In the earlier versions, the content of the tables was added to TreeView, which significantly slowed down navigation in large projects (because the TreeView control worked slowly). Now you can easily view the content of any table by clicking its name in the tree. You will surely notice the much faster navigation!
Moreover, the new VB Decompiler can display all string references of any .NET application with their addresses in the file from the "#US" heap.
As usually, we have fixed all the bugs that we knew about and made a lot of small but nice improvements. If you have an active subscription for updates, you can download the new version of VB Decompiler via the customer's panel. If you have just learned about VB Decompiler or have not updated it for a long time, we'll be happy to see you among our clients!
(C) Sergey Chubchenko, VB Decompiler's main developer