VBReFormer Changelog

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