VBReFormer 6.4 Released with support of for/next and array-related statements decompilation

As annouced previously, we just release the Free and Professional editions of VBReFormer 6.4.

This new version improve such a lot the decompiler engine and this is one of the most important release I’ve done until now.

The decompiler engine has been improved as it can now perform variable type determination. This means that VBReFormer is now able to guess the type of a variable and argument from its use inside the code.

We also added for/next support, and multi-dimensional array-related statements decompilation.

Example:

Original source code:

Private Sub Command1_Click() Dim myArr1(0 To 20, 14 To 50, 25 To 45) As String MsgBox UBound(myArr1) MsgBox LBound(myArr1) Dim myArr2() As Long ReDim myArr2(0 To 40, 30 To 55) MsgBox UBound(myArr2) MsgBox LBound(myArr2) End Sub

Recovered source code:

Private Sub Command1_Click()     Dim var_2 (0 To 20, 14 To 50, 25 To 45) As String     var_3 = MsgBox(UBound(var_2, 1), 0)     var_8 = MsgBox(LBound(var_2, 1), 0)     Dim var_9() As Long     ReDim var_9(0 To 40, 30 To 55)     var_10 = MsgBox(UBound(var_11, 1), 0)     var_12 = MsgBox(LBound(var_11, 1), 0, , , var_13) End Sub

Lot of other improvement has been made, here is the full details:

New: Improved support of file I/O operation statements:

__vbaGetOwner4 __vbaGetOwner3 __vbaGet3

New: Improved support of error statements:

__vbaOnError __vbaResume __vbaGenerateBoundsError

New: Improved support of array-related statements:

__vbaAryLock __vbaRedim __vbaRedimPreserve __vbaAryConstruct2

New: Improved support of FOR / NEXT loop-related statements:

__vbaForEachAry __vbaNextEachAry __vbaExitEachAry __vbaForEachCollVar __vbaForEachVar __vbaForEachCollAd __vbaNextEachCollVar __vbaNextEachCollAd __vbaExitEachColl __vbaExitEachVar __vbaCyForInit __vbaVarForInit __vbaVarForNext __vbaRaiseEvent __vbaErase

New: Improved support of internal system statements:

__vbaSetSystemError __vbaFreeVar __vbaFreeObj __vbaFreeStr __vbaFreeStrList __vbaFreeObjList __vbaFreeVarList

New: Improved support of string statements:

rtcCompareBstr rtcInStrChar

New: Other improved statements:

__vbaObjIs __vbaStopExe VarPtr

New: support of type consistency at decompilation time, this means that the decompiler engine can now be determinist about variable type

New: Support of OLE, PropertyPage, and UserDocument elements in GUI recovery & edition

New: Support of COM / OLE property edition

New: New settings windows that allows to:

edit colors of source code’s syntax highlighting

choose if you want only Visual Basic, assembly, or both (mixed) differently for viewing and saving choose your own prefix for private method and private variable name load (or not) the project in Visual Basic, or the destination folder once you saved it

Fixed issue on Import Table use

Fixed issue on Font properties in property editor and GUI edition

Fixed issue on saving settings

Fixed issue on default language setting (French was setup by default, now replaced by English language).

Fixed issue on VBReFormer setup packages for x64 Windows operating system

Fixed issue at loading some ActiveX libraries (“Run-time error 339; Component `MSCOMCT2.OCX or one of its dependencies not correctly registered. “)

Fixed issue on resource viewer

Fixed issue on re-opening a VB6 application / library previously edited with VBReFormer Pro

Fixed issue on resource image preview, export, and replacement

Fixed issue on false negative detection of VBReFormer by antivirus or browsers as malicious software

Fixed “Object not found” exception at opening some executable

Fixed “About” dialog

VBCompTester discontinued: Use VBReFormer Free Edition instead

You all know that Visual Basic 6 allows you to choose between Native Code and P-Code compilation.

Because one of the most recurrent questions of my customers was if VBReFormer Pro will support decompilation of their application, due to the simple fact they don’t know if it was compiled in Native or P-Code, I’ve made a tool called “VBCompTester”, some years ago, which show you if a binary file (.exe, .dll, .ocx, etc.) was compiled using Visual Basic 5 / 6 and with what compilation mode (native or P-Code ?).

I have also made this tools because VBReFormer Free edition was not supporting decompilation at all, while VBReFormer Pro does. Then, you were not able to know, by using the free version, if the Pro one will support your application.

But the past year I decided to make VBReFormer Free and VBReFormer Professional from the same wood in order to give a real idea of VBReFormer Professional capabilities by using the free version.

Then, since June 2014, the both version of VBReFormer, free and pro, have the same features, but limited in the case of the Free edition.

Here are the main limitation of the Free Edition:

decompilation engine will not show name of code-inside object property in Free Edition. It will show something like “Me.[PROPERTY NOT VISIBLE IN FREE EDITION]” or “Me. [METHOD NOT VISIBLE IN FREE EDITION](param1, param2, param3)” in free edition; the feature of edition of GUI interface is not supported in Free Edition.

Since the Free Edition can now be used has a demonstration version of the Professional Edition of VBReFormer, I decided to discontinue the tool VBCompTester.

You can, and I advise you to use VBReFormer Free edition in order to know if your binary is made with Native or PCode option.

If you want to know more about the difference between the both compilation modes, you can read the following article: The truth about Native Code VS P-Code.

See you very very soon with a new version of VBReFormer which is gonna be the most powerful version I have made.

VBReFormer 6.2 Released with support of Unicode System & +11000 Win32 APIs

I’m delighted to announce that we’ve released VBReFormer 6.2 Professional Edition.

New features and improvements in this release include:

– Support of Windows UNICODE settings & applications in disassembling, decompiling, and editing Visual Basic 5 & 6 applications ;

– Exclusive support of +9000 others Win32 APIs (up to a total of 11 000 APIs) ;

– Support of Left & Right properties for ActiveX / OLE related objects ;

– Support of GUI interface Font properties edition ;

– Improved support of If / Then / Else / End If, Select Case […], and Loop / While statements ;

– Improved support of GUI Code for ActiveX / OLE related objects.

 

This release also include major fix for issues :

– Fixed issue in saving edited Visual Basic application with UNICODE environment ;

– Fixed issue in recovering executable resource images ;

– Fixed issue in « Options » dialog, taking account of your choice about APIs related decompilation ;

– Fixed issue in adding a new property to a GUI object .

VBReFormer Pro

Screenshot 1 of VBReFormer - Visual Basic decompiler
Screenshot 2 of VBReFormer - Visual Basic decompiler
Screenshot 3 of VBReFormer - Visual Basic decompiler
Screenshot 4 of VBReFormer - Visual Basic decompiler
Screenshot 5 of VBReFormer - Visual Basic decompiler
Screenshot 6 of VBReFormer - Visual Basic decompiler
Screenshot 7 of VBReFormer - Visual Basic decompiler
Screenshot 8 of VBReFormer - Visual Basic decompiler
Screenshot 9 of VBReFormer - Visual Basic decompiler
You lost the source code of your Visual Basic application ?
BLOG | FEED
Learn more...

VBReFormer is a powerful and essential recovery tool for Visual Basic application.

Decompiler, disassembler and design editor at the same time, VBReFormer is an essential tool for professionals and companies who work with older versions of their Visual Basic 5/6 applications.

VBReFormer will help you to rewrite your application by recovering all necessary information, design code and partial native Visual Basic code of your application.

Screenshot 1 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 2 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 3 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 4 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 5 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 6 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 7 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 8 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature

Screenshot 9 of VBReFormer - Visual Basic decompiler

VBReFormer Professional - Code search feature