What's new in VBReFormer 6.4
Aug 29, 2017
- 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 are 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