VB Decompiler Lite Changelog

What's new in VB Decompiler Lite 12.3

Jan 1, 2024
  • New powerful feature to rename variables in a decompiled code. Now you can right click on any variable (var_XX in a VB5/6 code and var_XX, num_XX, flt_XX and str_XX in a .NET assembly) and rename it by clicking "Renamevariable" in a popup menu. All parts, where this variable is used will be changed automatically. You also can undo this renaming by the right click on this variable again and click on "Undo renaming" in a popup menu. Each new name will be checked before renaming to prevent any conflicts with keywords and other variables.
  • Increased decompilation speed (Native Code)
  • "Save procedures list" now save file with a C# prototype style for the .NET compiled programs (.NET)
  • "Save all in one module" now save code to a .cs file in a C# style for the .NET compiled programs (.NET)
  • Improvements in a heuristic analyzer of the procedures type
  • Filter compiler's internal multithreading call __vbaAptOffset
  • Add support for the AddItem and RemoveItem methods for the standard OLE objects
  • Add support for the StdFont object with GUID {BEF6E003-A874-101A-8BBA00AA00300CAB}
  • Add support for the Printer "set" properties of the object with GUID {33AD4F31-6699-11CF-B70C00AA0060D393}
  • Add support for the StdPicture object with GUID {7BF80981-BF32-101A-8BBB00AA00300CAB}
  • Add support for the Move method for the standard OLE objects and using this object as "set"/"get" property of the standard OLE controls
  • Add support for the __vbaVarZero API from the MSVBVM60.DLL
  • Add support for the __vbaVarIndexLoadRef API from the MSVBVMXX.DLL
  • Don't add to the History recent files list files, not supported by the decompiler
  • Added new strings to the localization files
  • BugFix: Drag and drop files to VB Decompiler window in a Dark Theme
  • BugFix: Re-editing string reference after changing it to another string with a smaller size
  • BugFix: Crash if Shift key is pressed before decompilation, when Fast decompilation is disabled in Options
  • BugFix: after double clicking on a function call at decompiled code, VB Decompiler jumps to this function, but at first clicking on this code
  • selects text from start of code to position of click.
  • BugFix: Correctly pop values from the stack after processing SafeArray (Native Code)
  • BugFix: Declare non recovered variables as zero "Dim var_XX As 0" (Native Code)
  • BugFix: Correctly clearing stack after call of __vbaVarIndexLoad, __vbaVarIndexLoadRef
  • and __vbaVarIndexLoadRefLock APIs from the MSVBVMXX.DLL
  • BugFix: Processing some jumps with conditional in a global variable (Native Code)
  • Parsing long 4 bytes MethodPtr table (.NET)

New in VB Decompiler Lite 12.2 (Jun 26, 2023)

  • Better support for obfuscated files (.NET)
  • Declaring external calls as "public extern" (.NET)
  • Adding names of agruments to method declaration (.NET)
  • Support for Generic Instantiation via MethodSpec table (.NET)
  • Support decompilation to C# for "ldelem" and "stelem" MS IL opcodes (.NET)
  • Persian translation of the documentation and GUI by Ehsan Salehi
  • BugFix: Incorrect analyzing of temp variable for some exception Handlers (.NET)
  • BugFix: Calculating size of some large "~" structures (.NET)

New in VB Decompiler Lite 12.1 (Apr 16, 2023)

  • A new age of .NET decompilation started in VB Decompiler! provides first version of the C# decompilation from the IL bytecodes. VB Decompiler started .NET decompilation in 2006 year and improved compatibility over the past years. This is not a standard .NET decompilation using Reflection classes. All .NET decompilation in VB Decompiler written from scratch and doesn't uses the .NET framework. Moreover, all versions of VB Decompiler before v8.5 can be started in Windows 95 and works perfectly. All previous years we decompile only .NET structures and disassembly MS IL. Starting 2023 and v12.1 VB Decompiler supports decompilation of the .NET code! This code can be written in Visual C# .NET, Visual Basic .NET, or using any other CIL compatible language. It can be x86 code or x64 code, managed or unmanaged - VB Decompiler supports all of this! And as in early versions, VB Decompiler doesn't use .NET framework in a decompiler. You can decompiler .NET code on a PC without installed .NET framework! This is a first version of C# decompilation and some features is not supported.
  • Already supported Try ... Catch exceptions, Case statements, initializing arrays on the stack and a lot of MS IL opcodes. Loops recognizing is not supported at this time and you will see it as "if ... then" blocks. C# wrappers for fast array initializing is also not supported at this time. But we work on improvement .NET decompilation solution and it will be added in future.
  • Visual Basic obfuscation is highly improved. A lot of code refactored for better performance
  • Compatibility fix with Chinese Windows locale (different processing non-unicode chars)
  • Decompile "type" of the handler for the Small SEH frames (.NET)
  • Click to select any address in the Decompiler tab. Next open the Disassembler tab. VB Decompiler will navigate to the selected address and highlight it
  • Click on any address in a comment "Referenced from" in a code to highlight this address
  • Support "Add HEX dump" option for MS IL .NET disassembler (.NET)
  • Additions to the Chinese Simplified UI translation by fairycn
  • BugFix: decoding branches back (.NET)
  • BugFix: Windows XP compatibility fixes

New in VB Decompiler Lite 12.0 (Feb 8, 2023)

  • Mac OS on M1 processors compatibility via Parallels
  • Increased decompiler loading speed for all licenses
  • New Dark Theme and support for custom themes, based on dark and light colors. A lot of controls and code refactored and rewritten to support this. Also added a lot of new color scheme parameters.
  • Fonts (family and size) can be changed separately for Solution explorer, Decompiler and HEX Editor. Colors can be changed for all parts of Highlighting Code and for all parts of HEX Editor. Color Scheme topic in English documentation with information how to make your own color theme is also updated.
  • Now you can select more than one Font Family for each part of the UI control in a color schemes configuration file to support Windows, Linux and Mac, where installed font is different.
  • Supporting of Dark Theme for Parallels in Mac OS and Wine on Linux systems. Partially supported Steam Deck console - menu refreshes incorrectly to light colors in a Dark Theme, but other features works fine (tested on Wine, not Proton).
  • Redrawn about 50 icons to support smooth transparent rendering in a Dark Theme.
  • New .NET strings mangler and demangler to support special chars looking in a code and editing in a String References (.NET)
  • Don't show duplicates in a String Reference if duplicate used at same method, but show if methods is different
  • New parsing algorithms for arguments of the __vbaVarLateMemSt and__vbaLateIdSt msvbvmXX.dll APIs. Supports class properties with reverse order of the Dispatch ID
  • Tracer for P-Code compiled programs is highly improved:
  • Showing variables and list of a previously decompiled code (Tracing features)
  • Translations supported for Native Code and P-Code Tracers
  • If translation is already available for your language in a "lang" subfolder of the VB Decompiler installation folder (Tracing features)
  • Native Code Tracer window size is increased and supports using only keyboard (Tracing features)
  • Replace Courier New font to Liberation Mono for a decompiled code if decompiler works under Linux using Wine
  • Use less time and memory to find APIs
  • BugFix: Opening binary files in VB Decompiler via command line
  • BugFix: Show correct virtual address of the API wrapper code (API list in solution explorer tree)
  • BugFix: Resizing Find Method References (Find Next) and String References windows
  • BugFix: Refresh strings list in internal .net structures after editing string in a String References dialog form (.NET)
  • BugFix: Save file after editing in a HEX Editor (Error about cannot save read-only file)
  • BugFix: Show HEX dump and assembler command for calls of API wrapper in a Disassembler tab (Native Code)

New in VB Decompiler Lite 11.9 (Aug 29, 2022)

  • What's new in this version:
  • New parser for If ... End If statements
  • Right clicking on any loc_XX address in a code and select
  • "Copy to disassembler" not only merge decompiled and assembler code
  • but also jumps to same code line as in Decompiler tab.
  • It helps to analyze large procedures.
  • New parser for TypeLib information from external OCX/DLL,
  • used in a decompiled file
  • Support extended prototype values in VTable (VB5/6)
  • Backward compatibility for Windows XP (experimental)
  • Parse prototypes of functions/procedure using RTTI
  • Support for dynamic size of Events structure
  • Filter "_adj_fdivr_m32" API (Native Code)
  • Parse "movzx" assembler command (Native Code)
  • Ignore "cwd" assembler command (Native Code)
  • Support external objects calling by early binding (P-Code)
  • Support calling by VTable offset public methods and
  • get/set public variables in internal classes (Native Code)
  • New parser for assembler "test" command (Native Code)
  • Parsing array operand in "imul" command (Native Code)
  • Parsing array first operand in "cmp" command (Native Code)
  • Decompile calls to basic methods (with VTable offset 1 to 3Ch)
  • of OLE objects: AddRef, Release, PropertyBag, etc (P-Code)
  • Increased row height for properties list in Designer
  • BugFix: Not show Form or Class in a Solution Explorer if this
  • class placed before Module without public methods
  • BugFix: Ignore analyzing prototype for public "Sub" and "Functions" to
  • display correct color of icon in Solution Explorer
  • BugFix: Show "(" and pointer to variable as a comment
  • BugFix: Parsing variable of "Select Case" statement where
  • esi register is not used, but some optimizations used
  • during compilation (Native Code)
  • BugFix: Type of method ("Sub" or "Function") can be cleared
  • in a prototype declaration during analyzing code with unknown prototype

New in VB Decompiler Lite 11.8 (May 2, 2022)

  • What's new in this version:
  • Show progress of VDD files loading on the splash screen if it
  • opened using command line
  • Increased string references processing
  • Trim string references by vbCrLf
  • Detect x64 Delphi 11.1 files
  • Show progress status during decompile too large functions (VB5/6)
  • Support for FE16 constrained MS IL opcode (.NET)
  • Support deobfuscated .NET files with wrong call addresses in a code (.NET)
  • Optimizations of the "Replace" function
  • Process ResolutionScopeEncoded tables (.NET)
  • Add ResolutionScope to local variables and calls (.NET)
  • Break disassembling on "int 03h" in unmanaged .NET x64 code (.NET)
  • BugFix: Correctly load vdd databases with very large string references
  • BugFix: TabOrder in "String References" and "Procedure References" forms
  • BugFix: Incorrect size of the "ldloca" il opcode (.NET)
  • BugFix: Parsing pointer to pointer in local variables (.NET)
  • BugFix: Error on parsing some variant expressions in a stack,
  • marked as integer (VB5/6)
  • BugFix: Error on show forms with Splitter control, where Min
  • value larger than Max value

New in VB Decompiler Lite 11.7 (Nov 21, 2021)

  • Now analytic features for forensics and malware analysts supports Visual Studio .NET applications. Supported all x86 and x64 .NET Windows platforms Visual Basic, C#, etc) based on PE EXE/OCX/DLL files. VB Decompiler license with Analytic Features can generate a report, that contains detailed information about the activity of a decompiled program on a user's computer: working with files, registry, network, cryptography, net threads and databases.
  • Search and Highlight for any keyword under the cursor. Just click on any operand, register or variable name and VB Decompiler highlight all same names in a whole code list. You can change highlight fore and back colors for custom color scheme by changing INI files in Colors subdirectory of the VB Decompiler. Just change UnderCursorBackground and UnderCursorForeground. Popup menu for treeview now allows to jump procedure by it's path. You can copy path of each procedure using menu "Copy the name of section" and jump to this path using "Jump to the section". It can be helpful on the large projects.
  • Detect return value for P-Code functions without ExitProcCbHresult (P-Code)
  • Support dumps with incorrect MethodLinkCount (P-Code)
  • Support MethodPtr table and VB Decompiler use it to sort methods (.NET)
  • Show tables from the .NET applications if "#~" heap name obfuscated (.NET)
  • Hebrew translation of the documentation and GUI by Lihai Konio
  • Turkish translation of the documentation and GUI by Murat EKSI
  • Changes in documentation on all supported languages
  • Analyze prototypes can be disabled in Analytics license for fast opening files (as in Business license). At any way if you need an Analytics Report then this option must be enabled.
  • Support for fchs FPU command (Native Code)
  • Improved heuristic type detection for private procedures and functions (Native Code)
  • Show class name before methods in calls (.NET)
  • Make prototypes of each call of function and procedure.
  • Supported default parameters and links to a Field table (.NET)
  • Make prototypes of each API call (.NET)
  • Show TypeNamespace and TypeName of the class where called API function is declared (.NET)
  • Show parent class name if TypeNamespace is zero (.NET)
  • Support parsing TypeSpec blobs in a calls (.NET)
  • Parse default parameters of each call of function and procedure (.NET)
  • Show null char in a string as "" (.NET)
  • Support dumps with Entry point higher than size of the file
  • BugFix: Show correct address in "Referenced from" for Return and GoSub commands (P-Code)
  • BugFix: Procedure analyzer on access methods from variable (P-Code)
  • BugFix: Decompiler analyze double click on the names same with current opened function
  • BugFix: First argument in call of private functions and procedures in modules processed incorrectly (Native Code)
  • BugFix: Correctly show parameters for Property Let
  • BugFix: Tracing last line at P-Code procedure
  • BugFix: Show error if file has no MethodPtr table (.NET)
  • BugFix: Jumps from analytic reports to .NET functions (.NET)

New in VB Decompiler Lite 11.6 (Nov 25, 2020)

  • New perfect feature. Now VB Decompiler can find references to any global variable in all forms and modules. Just right click on any global variable in a decompiled code and click on "Find references". After search, VB Decompiler will show all founded functions in a list and you can jump to any function. Saving report, copying each entry and search on the list is also supported.
  • This feature is for Visual Basic 5.0/6.0 files only.
  • Support plugins, written on the Python. Needs for 32 bit Python v3.8 installed.
  • Example you can find in pyplugins directory in VB Decompiler folder.
  • APIs is same with DLL plugins. Plugin loads by clicking menu with its name.
  • You can edit code of the plugin and launch it without restarting VB Decompiler.
  • Special thanks for samples to Stanislav Rakovskij
  • A lot of changes to support incorrect, dumped and obfuscated files to help
  • research labs in analyze malware code.upport incorrect dumps with trash in address and size of PE sections
  • Support obfuscated incorrect ordinals of VB5/6 APIs
  • Support .NET assemblies where "#~" is not a first stream (.NET)
  • Support obfuscated VB5/6 files with incorrect pointers
  • BugFix: Close non-supported files after analyze
  • BugFix: Show loading and decompiling progress in Windows status bar
  • BugFix: Processing more than one file with color schemes and translations

New in VB Decompiler Lite 11.5 (Jul 6, 2020)

  • Tables parser is completely refactored and improved (.NET)
  • Show module name, assembly name and assembly references at Project window after decompilation (.NET)
  • Support assemblies with duplicates of some streams (.NET)
  • Support assemblies with extra data in "#~" stream (.NET)
  • Partially support MethodSemantics, MethodImpl, GenericParam,
  • FieldRVA, EventMap, Event, PropertyMap, Property,
  • AssemblyRefProcessor, AssemblyRefOS, ExportedType,
  • ENCLog, ENCMap tables (.NET)
  • Support icons for dsr designer files and saving this icon to a dsx file
  • New events processing for ActiveX-based controls. A lot of most popular
  • ActiveX libraries already supported via internal database. For unknown omponents VB Decompiler analyze TypeLib information of used OCX files and use protoypes of the events from this files. Please note, used ActiveX components should be registered using regsvr32.
  • Support events prototypes of the Animation, UpDown, TabStrip, Toolbar, StatusBar, ProgressBar, TreeView, ListView, Slider, Gauge, MhState, Connection, Recordset, Adodc, MSChart, MonthView, DTPicker, FlatScrollBar, ImageCombo, MSComm, DataGrid, DataList, DataCombo, DataRepeater, MSFlexGrid, MSHFlexGrid, Inet, MaskEdBox, Winsock, RichTextBox, SSTab, SSCheck, SSFrame, SSCommand, SSPanel, SSOption, SSRibbon controls
  • Don't place file names of modules and classes to vbp project file if option "Decompile only forms" is checked
  • Adding to the History recent files list only if file can be loaded
  • Optimizations and fixes in analyzer for packed files
  • BugFix: Size of "ResolutionScope" field in "TypeRef" table;
  • Size of "GenericParam" and "Constraint" fields in "GenericParamConstraint" table;
  • Size of "Field" field in "FieldLayout" table;
  • Size of "Parent" field in "ClassLayout" table;
  • Size of "MemberForwarded" and "ImportScope" fields in "ImplMap" table;
  • Size of "MethodSpec" field in "Method" table;
  • Size of "NestedClass" and "EnclosingClass" fields in "NestedClass" table;
  • Size of "Implementation" field in "ManifestResource" table;
  • Size of "Class" field in "MemberRef" table;
  • Size of "Parent" field in "Constant" table;
  • Size of "Parent" field in "DeclSecurity" table (.NET)
  • BugFix: Show token in "Method" table (.NET)
  • BugFix: Processing comparisons with more than 2 compares at single code line (Native Code)
  • BugFix: Nonstandard types declaration for standard events
  • DragDrop, DragOver, OLEDragOver, OLEDragDrop, OLEStartDrag,
  • OLESetData, WriteProperties, ReadProperties,
  • AsyncReadComplete, AsyncReadProgress
  • BugFix: Correctly show start of the form in HEX Editor if offset is higher than ImageBase

New in VB Decompiler Lite 11.4 (Apr 6, 2020)

  • Support addresses to global variables and objects in fld, fadd, fsub, fmul, fdiv, faddr, fsubr, fmulr, fdivr, faddrp, fsubrp, fmulrp, fdivrp fpu instructions (Native Code)
  • Getting value from register in fstp fpu instruction (Native Code)
  • Support pointer to register in fild fpu instruction (Native Code)
  • Support for fst FPU command (used only for unmanaged .NET code, VB6 use only fstp)
  • New FPU preprocessor for add, sub, mul and div commands with and without "p" and "r" suffixes (Native Code)
  • Filtering _adj_fdiv_r and _adj_fdiv_m64 with stack processing (Native Code)
  • Now you can disable analytic features and parsing prototypes on the fly, without changing options. Just hold "Shift" on the keyboard and start decompilation by pressing "Decompile" button or from recent files list (Analytic features)
  • Tracing is now works on both: Fast decompilation and Full decompilation modes (Tracing features)
  • Checkboxes on the main window now can be changed only on "Fast decompilation" mode, because this settings can be used only in fast decompilation mode
  • Japanese, French and German translations is updated
  • Search strings in a whole project of the .NET application via "Ctrl" + "F" (.NET)
  • Processing imports for x64 .NET managed applications
  • "Find next" button at String references list
  • Searching new file access APIs (Analytic features)
  • Searching new volume access APIs (Analytic features)
  • Searching new internet access APIs (Analytic features)
  • BugFix: Decompile msvbvmXX.dll functions __vbaR8IntI2, __vbaR8IntI4, rtcDateAdd (Native Code)
  • Plugin SDK function "VBD_SetActiveTextLine" now works for Decompiler and Disassembler tabs
  • FRX Viewer updated
  • BugFix: Processing boolean assignment to property via __vbaLateIdSt,__vbaVarLateMemSt, __vbaLateMemSt in some cases (Native Code)
  • BugFix: Procedure analyzer and optimizer can incorreclty replace the array variable with array index
  • BugFix: Processing "MemberRef" and "CustomAttribute" tables (.NET)
  • BugFix: Search strings in a whole project via "Ctrl" + "F"
  • BugFix: Issue with resizing panels at main window
  • BugFix: Processing "imul" assembler command (Native Code)
  • BugFix: Plugin SDK function "VBD_SetStatusBarText"
  • BugFix: Fix incorrect Virtual Tables
  • BugFix: Parsing type of "class" and "valuetype" variables (.NET)
  • BugFix: Jump history open incorrect tab after jumping from form to code or vice versa

New in VB Decompiler Lite 11.3 (Oct 7, 2019)

  • What's new in this version:
  • Support String References for "Fast decompilation" option if "Analyze Prototypes" option is enabled (for VB5/6 files only)
  • Support local ANSI charsets (include Japanese, Chinese, Korean) in String References,
  • TStringList properties of controls (ListBox, ComboBox, etc) and long string from FRX files in Caption of Label and CommandButton
  • Database for Forms/Controls recovering is completely refactored
  • Recover most main properties of DataReports (dsr designer): ClientLeft,
  • ClientTop, ClientWidth, ClientHeight, Caption, StartUpPosition and save properties of all controls to the OleObjectBlob (OLE container with other properties). You can open decompiled UI part of the DataReport in VB6 IDE.
  • Recover main properties of DataEnvironment files (without internal structure decompilation)
  • Declare OCX DLLs in Project
  • Support for some arrays in global variables (Native Code)
  • BugFix: Show functions with Chinese unicode names
  • BugFix: Jump to function by clicking address is file has no forms
  • BugFix: Error while opening VDD database files
  • BugFix: Freeze saving project with decompiled files with multibyte names (Japanese,
  • Chinese, etc) if name after conversion from Unicode to ANSI contains slashes.
  • VB Decompiler saves files with ANSI names because VB6 IDE is not support files with unicode names. Please note: you can open files with multibyte names using VB6 IDE only on Windows with same ANSI locale)
  • BugFix: Recent files list is not work on Windows XP with unicode locale
  • BugFix: Decompile msvbvmXX.dll functions: __vbaI2Cy, __vbaI4Cy
  • BugFix: Processing version info fields with more than 256 chars
  • BugFix: Filtering some integer variables as a compiler side variables

New in VB Decompiler Lite 11 (May 23, 2018)

  • New processing engine for __vbaObjSet and __vbaHresultCheckObj (Native Code)
  • New processing engine for 24 Late calls: __vbaVarLateMemCallLd, __vbaVarLateMemCallLdRf,
  • __vbaVarLateMemCallSt, __vbaVarLateMemSt, __vbaLateMemSt, __vbaVarLateMemStAd,
  • __vbaLateMemStAd, __vbaLateIdCall, __vbaLateIdCallLd, __vbaLateIdCallSt, __vbaLateIdSt,
  • __vbaLateIdStAd, __vbaLateMemCall, __vbaLateMemCallLd, __vbaLateMemCallSt,
  • __vbaLateIdNamedCall, __vbaLateIdNamedCallLd, __vbaLateIdNamedCallSt, __vbaLateIdNamedStAd,
  • __vbaLateMemNamedCall, __vbaLateMemNamedCallLd, __vbaLateMemNamedCallSt,
  • __vbaLateMemNamedStAd, __vbaRaiseEvent. NamedCall's is partially supported. (Native Code)
  • Show "This Control" (variable with assigned active control) and "Temporary This"
  • at Tracer window (Tracing features)
  • VB .NET decompiler is optimized and refactored
  • Tracing is now supported for P-Code functions and procedures. Just
  • right click on an address in a decompiled or disassembled code (like
  • loc_00401000) and select same menu link. Opened code will be emulated up
  • to the selected address and you'll see stack, previous decompiled line,
  • and current This object. This function works like a breakpoint on a
  • debugger, but no code executed, only emulated. (P-Code)
  • New feature "Prototypes Analyzer". Before decompilation, VB Decompiler will
  • analyze all Private functions and procedures for prototype. It helps to
  • provide correctly decompiled calls to this procedures and functions. This
  • feature can be activated in Options and decrease speed of the opening
  • file (P-Code and Native Code)
  • New option for new feature: Parsing "If" ... "Else" ... "End If"
  • blocks (Native Code)
  • "Add addresses" option now works in P-Code too
  • Support vbaNew2 calls for internal Forms, UserControls and Classes (Native Code)
  • Objects is now more strong typized (Native Code)
  • Decompile 16777215 as "True" at "If .. Then" statements (Native Code)
  • Filter calls to VB Runtime wrappers using VTable (Native Code)
  • Ukrainian translation by Dmitry Prigornitsky
  • Show operand for msvbvmXX.dll functions MemLdPr, LateIdLdVar, MemLdUI1,
  • MemLdI2, MemLdR4, MemLdR8, MemLdFPR4, MemLdFPR8 (P-Code Lite Version)
  • Support for global variables as in a P-Code (Native Code)
  • Show Dispatch ID and VTable ID for Public and Private
  • variables (P-Code and Native Code)
  • Support a lot of array in a push, mov, add and sub commands:
  • [reg+reg], [reg-reg], [reg+Address], [reg-Address],
  • [reg+reg*2] (Native Code)
  • Emulator stack size increased to form 16 to 64 dwords (Native Code)
  • Decompile "ExitProcCbHresult" with and without arguments differently (P-Code)
  • Doesn't calculate the entropy (test for packed/protected) for files larger than 5Mb.
  • Increases download speed and is not required for most files.
  • Support disassembling of extremely large functions. Correctly find the
  • finish part of this functions (for functions with up to 100k lines of code)
  • Increase speed for saving to file
  • Decompilation of "Err" object with all properties and methods (P-Code and Native Code)
  • Increased Native Code decompilation speed
  • Database of external OCX/DLL controls is filtered and optimized
  • Show all possible arguments at private procedure prototype by
  • analyzing code of the procedure (Native Code)
  • Use different colors for "Sub" and "Functions"
  • Try to detect type of the procedure, declared as Private (Sub or Function)
  • Filter "Select Case" jump tables at the end of function (Native Code)
  • Declare User Defined Types (UDT) and public variables. For UDT VB Decompiler
  • show size of the structure and count of string fields. For Public variables
  • VB Decompiler show name and type
  • Add support for msvbvmXX.dll APIs: __vbaR8IntI2, __vbaR8IntI4,
  • __vbaVargVarCopy, __vbaRedimVar, __vbaVarSetObjAddref, __vbaVarSetUnk,
  • __vbaVarSetUnkAddref, __vbaVarSetVarAddref, __vbaVarXor, __vbaVarNot
  • __vbaPowerR8, __vbaVarLateMemSt, __vbaStrLike, __vbaStrTextLike,
  • __vbaVarLike, __vbaVarTextLike, __vbaVarTextLikeVar, __vbaVarLikeVar,
  • __vbaDerefAry1, __vbaVargVarRef (Native Code)
  • Add partially support for msvbvmXX.dll APIs: __vbaRecAnsiToUni,
  • __vbaRecAssign, __vbaRecDestruct, __vbaRecDestructAnsi, __vbaRecUniToAnsi
  • Add support for msvbvm50.dll APIs: __vbaVarTextCmpEq, __vbaVarTextCmpNe,
  • __vbaVarMod (Native Code)
  • Show variables for msvbvmXX.dll functions: __vbaVarOr,
  • __vbaVarNeg, __vbaVarMod, __vbaVarMul, __vbaVarPow, __vbaVarDiv,
  • __vbaVarIdiv
  • Support RegExp2 class from vbscript.dll
  • Support "Select Case" statements with more than 255 cases (Native Code)
  • Search in a variables at Tracer window (Tracing features)
  • Save current Date/Time to the header of text file (Save all in one module)
  • Support for Objects: Form.Controls.X, MDIForm.Controls.X, UserControl.Controls.X,
  • PpropertyPage.Controls.X, UserDocument.Controls.X, ListView.Items.X
  • Emulation for direct assembler 'Or' command with variables.
  • Usually Visual Basic use __vbaVarOr or same APIs, but with __vbaXXXLike
  • Visual Basic use native 'Or' (Native Code)
  • Support loading 4 and 8 byte floats from address by fild FPU command (Native Code)
  • Open binary file from *.lnk file. Pure binary parsing, APIs or WScript is not used.
  • Not all types of *.lnk files is supported.
  • BugFix: Update decompiled code after editing any string in String References
  • BugFix: Decompile names of global variables in classes
  • (if it saved to the binary file)
  • BugFix: Decompile msvbvmXX.dll function MemLdPr (P-Code)
  • BugFix: Decompile msvbvmXX.dll functions: __vbaR4ErrVar, __vbaR8ErrVar,
  • __vbaR4Var, rtcRandomNext, __vbaBoolVar
  • BugFix: Decompile msvbvm50.dll functions: __vbaRedim, __vbaRedimPreserve
  • BugFix: Correctly process prototype of the function with more
  • than the nine parameters parameters via the stack
  • BugFix: Correctly process "End If" in some cases then this address is filtered
  • by "Procedure analyzer and optimizer"
  • BugFix: Correctly process object properties Left/Top/Width/Height
  • as Single floating point (Native Code)
  • BugFix: Correctly process "End If" and other block-closing commands in some cases,
  • if "Add Address" option is unchecked (Native Code)
  • BugFix: Processing strings with only quote (") and apostrophe (') chars

New in VB Decompiler Lite 10.8 (Feb 20, 2018)

  • What's new in this version:
  • New perfect feature. Now VB Decompiler can find references to any procedure
  • or function in all forms and modules. After search, VB Decompiler show all
  • founded functions in a list and you can jump to any function. Saving report,
  • copying each entry and search on the list is also supported.
  • This feature is for Visual Basic 5.0/6.0 files only.
  • Forms parser refactored. Now it support a lot of forms, what incompatible with
  • previous version of decompiler
  • Decompile "ToolTipText" property of OLE objects on a Form
  • Support for windows style as in Visual Studio. Now you can view the code at left side
  • and solution explorer at the right side of VB Decompiler main window.
  • You can change it in options.
  • Improved UI of String Reference dialog
  • Show String Reference dialog at right bottom corner of the main window
  • Greek translation by John Kochliarides
  • Documentation (Help files) on most languages is updated
  • Decompile msvbvm functions: __vbaWriteFile
  • BugFix: Parsing "DoEvent" call via edi register (Native Code)
  • BugFix: Show help files for Danish and Czech languages
  • BugFix: Show English help files for French and Slovak languages

New in VB Decompiler Lite 10.7 (Aug 18, 2017)

  • Now you can jump to the code of any Event (MouseClick, KeyPress, OnLoad, etc.) just in a GUI designer. Just open any form in a GUI Designer, double click by any control and at right Properties table click on an "_Event" field. You'll see a menu box with code handlers for each Event of this control. Click on any handler to see the code (VB5/6)
  • Decompilation speed increased up to 5 times! A lot of code refactored.
  • Emulate adding negative values to the esp register (Native Code)
  • Recovery names of external objects if CLSID records in registry has no VersionIndependentProgID field, but has ProgID field instead Option "Add HEX Dump" now works for P-Code applications too (P-Code)
  • BugFix: Processing ExitProcI2, ExitProcR4, ExitProcR8, ExitProcCy, ExitProcUI1, ExitProcI2, ExitProcStr, ExitProcR4, ExitProcR8, ExitProcCy, ExitProcCb, ExitProcCbStack (P-Code)
  • Fill file type property at VBP project to "Exe" if file extension is not correct
  • BugFix: Fixes in Spanish translation
  • BugFix: Correctly parse some stack parameters (Native Code)
  • BugFix: Incorrect declare properties of UDT or array as variable (P-Code)
  • BugFix: Correctly process Virtual Addresses between end of one section and
  • stert of next section if sections is not aligned
  • BugFix: Not critical bugs in Visual Basic 5.0/6.0 obfuscation engine
  • BugFix: Delete record from Recent files history list if file is not found
  • BugFix: Correcly decompile "Class" field at "MemberRef" table (.NET)
  • BugFix: Support for 4 byte long indexes for "CustomAttribute" table (.NET)
  • BugFix: Decompile msvbvmXX.dll functions __vbaR4Sgn, __vbaR4Var (Native Code)
  • BugFix: Parsing of MemberRef table with LongStr flag (.NET)
  • BugFix: Parsing some types of local variables (.NET)

New in VB Decompiler Lite 10.6 (Dec 15, 2016)

  • Show values from the .NET tables as text by clicking each table (.NET)
  • Decompile "GenericParamConstraint" table (.NET)
  • Decompile msvbvm functions: __vbaGosubFree, __vbaGosubReturn, __vbaStrTextCmp,
  • vbaVarTextTstEq, __vbaVarTextTstGe, __vbaVarTextTstGt, __vbaVarTextTstLe,
  • vbaVarTextTstLt, __vbaVarTextTstNe, __vbaForEachCollVar, __vbaI4Sgn,
  • vbaCopyBytes, VBDllGetClassObject, GetMem2, GetMem4, GetMem8, GetMemStr, GetMemVar,
  • GetMemObj, PutMem2, PutMem4, PutMem8, PutMemStr, SetMemVar, SetMemObj, GetMem1,
  • PutMem1, __vbaRefVarAry, __vbaVarIndexLoadRefLock, __vbaVarIndexStore,
  • vbaStrUI1, __vbaVarIdiv, __vbaStrBool, __vbaR8ErrVar, __vbaI2Abs,
  • vbaI2Sgn, __vbaR8ForNextCheck, __vbaCheckType, __vbaStr2Vec, __vbaUnkVar,
  • vbaVargVar, __vbaVerifyVarObj, __vbaObjAddref, __vbaFpCDblR4, __vbaFpCDblR8,
  • vbaCheckTypeVar, __vbaStrCompVar, __vbaVarLateMemCallSt, __vbaLateIdStAd (Native Code)
  • Decompile msvbvm50 functions: __vbaUI1I2, __vbaUI1I4 (Native Code)
  • Decompile P-Code functions: VerifyVarObj, LateIdStAd, VarIndexSt,
  • EraseDestruct, EraseDestrKeepData (P-Code)
  • Support for Case Else in Select Case statement (Native Code)
  • BugFix: Correcly decompile "CustomAttribute" table (.NET)
  • BugFix: Correcly select string after jumping from the String References to theDisassembler window
  • BugFix: Strings Viewer for #US heap (.NET)
  • BugFix: Add brace symbol for GUIDs of unregistered OCX files to the VBP Project file
  • BugFix: Procedure analyzer and optimizer correctly parse GoSub, GoSubFree and Return commands (Native Code)
  • BugFix: Procedure analyzer and optimizer correctly parse array index variables
  • BugFix: Decompile msvbvmXX.dll function __vbaNextEachCollVar, __vbaVarIndexLoad,
  • vbaI2Var (Native Code)
  • BugFix: Show strings with "%" chars (P-Code)
  • BugFix: Decompile msvbvmXX.dll function VarIndexLdVar (P-Code)
  • BugFix: Don't clean some fields in a controls cache after previous decompilation (VB5/6)
  • BugFix: Emulation of "jmpf" assembler command (Native Code)
  • BugFix: Decompile some types of Select Case statements (Native Code)

New in VB Decompiler Lite 10.5 (Jul 29, 2016)

  • GUI designer for Forms and UserControls with support of Unicode, frx captions,
  • frx graphic icons and images. A lot of properies already supported!
  • Optimized parsing of compared operands cmp, set, etc (Native Code)
  • Emulator supports faddr, fsubr, fmulr, fdivr, faddrp, fsubrp, fmulrp, fdivrp (Native Code)
  • Parse icon properties in forms with incorrect content
  • Open file/database dialog use last open directory (not root directory of VB Decompiler)
  • Russian codepage fix (windows return 866, except 1251 for LanguageID 1049)
  • Show loading and decompiling progress and status if file or
  • VDD database opened from command line
  • Jump history now works not only for functions, but for Forms and UserControls too
  • Decompilation speed increased
  • Danish language added (GUI and Help file). Thanks to Sander Knudsen
  • Brazilian Portuguese language added (GUI). Thanks to Lincoln Hirata
  • Changes in Indonesian language file
  • BugFix: Some memory leaks fixed
  • BugFix: Parse "NegotiatePosition" property of the Menu controls
  • BugFix: Save MDIForm frm and frx to correct names
  • BugFix: Crashes on forms and classes with more than 999 functions
  • BugFix: Parsing language files with incorrect structure
  • BugFix: Save large .NET files to database
  • Bugfix: Search VB5! signature in OCX files
  • Bugfix: "Value" property size for HScrollBar and VScrollBar controls
  • Bugfix: 2-byte Integers processed as Unsigned in form properties
  • BugFix: Disabled "Decompile" button after open VDD database
  • BugFix: Parsing external OCX with incorrect TypeLib

New in VB Decompiler Lite 10.4 (Apr 12, 2016)

  • Decompile VB5/6 SEH error handlers. All formats of VB SEH supported,
  • include "On Error Resume Next", multiple "On Error GoTo XXX" and
  • "On Error GoTo 0" commands (Native Code)
  • Decompile calls methods from local class module (Native Code)
  • Try to decompile drag and dropped files with non exe/ocx/dll extension
  • Filter for double decompiled lines, with and without var_eax (Native Code)
  • Decompile msvbvm functions: SetVarVarFunc, LateIdCallSt, VarLateMemLdRfVar,
  • IStDargCopy, CRefVarAry, ILdDarg (P-Code)
  • Decompile msvbvm functions: VarLateMemLdRfVar, VarLateMemLdVar,
  • VarLateMemCallLdVar, IStDargCopy, ILdRfDarg, ILdDarg, ILdUI,
  • ILdR8, ILdAd, ILdFPR4 (P-Code Lite)
  • Decompile msvbvm functions: __vbaI4Abs, __vbaForEachCollAd (Native Code)
  • Decompile assembler functions: idiv (Native Code)
  • Decompile create object command FDF4 New (P-Code)
  • Increased speed of disassembling IL code (.NET)
  • Accelerated 7 times strings parser, loading too fast for most applications (.NET)
  • Accelerated 5 times code decompiling in Pro version (Native Code)
  • Accelerated 5 times tracing code in Pro version with Tracing features (Native Code)
  • Supports methods with more than 32737 lines of code (.NET)
  • Supports index in Strings heap with unsigned values (.NET)
  • Decompile OleObjectBlob and other properties for ActiveX
  • controls on Forms and save this blob to frx file
  • Decompile parent object name for the ActiveX controls on the Forms
  • Most code of decompilation engine is refactored
  • Improved recognition engine of VTable calls (Native Code)
  • Decompile TypeSpec addresses from Methods (.NET)
  • Decompile local variables (.NET)
  • BugFix: Decompile Int64 arguments (.NET)
  • BugFix: Show UTF-8 strings in names of namespaces, classes and methods (.NET)
  • BugFix: Parsing variables with "+/-" operations in Procedure analyzer and optimizer
  • BugFix: Show GUID of ActiveX files in Project VBP with dash in latest bytes
  • BugFix: Show controls of form with no public controls
  • BugFix: Replace arg_8 to Me (pointer of object) if Fast decompilation mode disabled
  • BugFix: No "lib" preffix before name of DLL in API declaration
  • BugFix: Correcly show strings with offset to center another string reference (.NET)
  • BugFix: Correcly show user strings (#US) if string larger than 128 but less than 256 bytes (.NET)

New in VB Decompiler Lite 10.3 (Feb 8, 2016)

  • Decompile TypeLib information from all external ActiveX files (OCX, DLL),
  • and make on the fly signatures for all Properties and Methods in each
  • Interface and Dispatch class
  • Use type information for return values from each property and method
  • from external OCX/DLL files
  • 1853 new API prototypes. At this time VB Decompiler
  • supports decompilation more than 3418 APIs
  • Search original file at folder with database (VDD) file
  • if path from VDD is invalid
  • Process SafeArrays from __vbaAryVar and __vbaAryCopy (Native Code)
  • Long lines as a hint in Tracing window (Native Code, Tracing features)
  • Support "mov reg, [reg+reg]" (Native Code)
  • Jumps to HEX Editor by clicking on global variables (Native Code)
  • Support for fld/fadd/fsub/fmul/fdiv st0, real8 ptr [reg1+reg2*8] (Native Code)
  • Support one char strings (Native Code)
  • Try to open possible packed files (can help to open files with
  • a lot of images on forms and looks like packed)
  • Decompile msvbvm functions: __vbaObjIs (Native Code)
  • Decompile references to ActiveX files with %SystemRoot% variable at the filename
  • BugFix: Decompile msvbvmXX.dll function rtcKillFiles, rtcChangeDir,
  • rtcMakeDir, rtcRemoveDir, rtcChangeDrive, rtcFileLocation,
  • vbaCastObj (Native Code)
  • BugFix: Decompile parameter type of external calls from OCX libraries
  • Correcly decompile BetweenUI1, BetweenI2, BetweenI4, BetweenR4, BetweenR4,
  • BetweenCy, BetweenVar, BetweenStr, BetweenTextVar, BetweenTextStr (P-Code)
  • BugFix: Decompile "and" and "or" opcodes if first operand is expression (Native Code)
  • BugFix: Decompile "setXX" opcodes if register set to zero or not initialized (Native Code)
  • BugFix: Decompile pushes to address with start code "xor eax, eax" (Native Code)
  • BugFix: Correctly saving ControlIndex array to the vdd database

New in VB Decompiler Lite 10.2 (Dec 4, 2015)

  • Support additional Select Case statements (Native Code)
  • Support arrays access in "add reg, value" (Native Code)
  • Show links to stack from registers (Native Code, Tracing features)
  • Decompile access to arrays from __vbaVarIndexLoad (Native Code)
  • Show parameters for MemLdRfVar in Lite version (P-Code)
  • Decompile static SafeArray for rtcArray function (Native Code)
  • Show contents from address in stack, placed in register (Tracing mode)
  • Jumps to HEX Editor by clicking on each address like &H00401000 and 00401000h (Native Code)
  • Decompile unknown procedures by clicking on address like Proc_401000 (Native Code)
  • No "Decompiled OK" message after decompilation
  • BugFix: Correctly process jmp commands, if it's jump back into this procedure (Native Code)
  • BugFix: Reset selected block after return to previous procedure (Native Code)
  • BugFix: Decompile properties from indexed controls (P-Code)
  • BugFix: Decompile "Set" operator in some cases (P-Code)

New in VB Decompiler Lite 10.1 (Sep 2, 2015)

  • Decompile msvbvm functions: __vbaDateVar, __vbaDateStr, __vbaForEachAry, vbaExitEachAry, __vbaStrDate, __vbaStrFixstr, __vbaLsetFixstr, adj_fdiv_m32, __vbaUbound, __vbaEraseKeepData, __vbaRecAssign, vbaUI1Str, __vbaStrR8, __vbaVargParmRef, __vbaVargVarMove, vbaInStrVar, __vbaInStrVarB, __vbaMidStmtBstr, __vbaMidStmtBstrB, vbaMidStmtVar, __vbaMidStmtVarB, __vbaFixstrConstruct, vbaR8Cy, __vbaCyMulI2, __vbaFpCy, __vbaR4Cy, __vbaCyMul, vbaCyVar, __vbaFailedFriend, __vbaFpCmpCy, __vbaCyAdd, __vbaCySub, vbaCyAbs, __vbaCyFix, __vbaCyInt, __vbaCySgn, __vbaUI1Cy, __vbaCyUI1, vbaStrCy, __vbaCyStr, __vbaCyForInit, __vbaCyForNext (Native Code)
  • Decompile strings with only one char (Native Code)
  • Decompile "Case Is" blocks (Select Case ... Case Is = X ... End Select) with serial and random cases with "Select" global variable (Native Code)
  • Highlight "Preserve" operator
  • Fixed Arabic language.
  • Convert "%" to "Chr(37)" to avoid processing user string as signature
  • BugFix: Decompile msvbvm50.dll function __vbaForEachVar (Native Code)
  • BugFix: Decompile msvbvmXX.dll function __vbaNextEachAry, __vbaLsetFixstrFree, vbaAryLock, __vbaAryUnlock, __vbaR4Str (Native Code)
  • BugFix: Decompile call to function from unknown dll (P-Code, Native Code)
  • BugFix: Use language, selected in installer
  • BugFix: Correctly process operands of fld command (Native Code)
  • BugFix: Correctly process variables where type has 3 numbers (ex. var_104), but content 2 numbers (ex. var_FC)
  • BugFix: Jump back/forward by pressing < and >

New in VB Decompiler Lite 10.0 (Jun 1, 2015)

  • Decompile assembler functions: cdq, sar, sal, leaved, sahf, fcomp, fldz functions (Native Code)
  • Decompile assembler setXX (setz, setnz, setle, etc) functions (Native Code)
  • Decompile msvbvm functions: __vbaVarVargNofree, __vbaStrR4, __vbaDerefAry,
  • vbaStrVarCopy, __vbaPrintObj, __vbaLateMemStAd, __vbaCastObj,
  • vbaChkstk, __vbaLateMemCallLd, __vbaLateMemCallSt, __vbaVarLateMemCallLdRf functions (Native Code)
  • Decompile msvbvm functions: VarLateMemCallLdVar, CAdVar (P-Code)
  • Decompiling arrays and operations with arrays (Native Code)
  • Additional preprocessing for creating objects with __vbaNew2 (Native Code)
  • Filtering subtracting zero (Native Code)
  • Support decompilation for 'ReDim' function for multi-dimension dynamic arrays (Native and P-Code)
  • Increase COM objects processing speed for internal components like Form, TextBox, etc (Native Code)
  • Save and recovery cursor position in decompiled/disassembled
  • code after calling tracer
  • Save and recovery cursor position in decompiled/disassembled
  • code after jumping forward/backward by clicking name of procedure/function
  • Refactoring and increase speed of most code
  • Fixed and rewriten all help files
  • Procedure optimizer also optimize code with global variables (Native Code)
  • Processing save to global variable via 32 bit address (Native Code)
  • Processing "ByRef" double float varibles (Native Code)
  • Find more functions in modules (Native Code)
  • Processing push to stack via 'mov reg, esp; mov [reg+XXXXXXXXh], value" (Native Code)
  • New menu icons and splash screen
  • BugFix: Correctly process "If ... End If" when "End If" at end address of function (Native Code)
  • BugFix: Process variables (var_*) in "If ... Then" commands (Native Code)
  • BugFix: Correctly decompile code with calls to properties of Labels
  • BugFix: Processing internal GUIDs of Forms and UserControls (P-Code)
  • BugFix: Processing msvbvm functions: __vbaFPFix, __vbaFPInt, rtcDoEvents (Native Code)
  • BugFix: Processing assembler functions: fstp (Native Code)
  • BugFix: Not support files with more than 20000 controls in all forms

New in VB Decompiler Lite 9.9 (Jan 7, 2015)

  • Decompile msvbvm functions: IStStrCopy, FreeVarNoPop, FreeStrNoPop,
  • LateMemCallLdVar, VarLateMemSt, NewIfNullRf, NewIfNullAd (P-Code)
  • Decompile COM objects ADO (ado15.dll), MS Internet Controls (ieframe.dll)
  • Portuguese translation by Sergio Zucchi Tricarico
  • Support for 150% fonts scale in Windows 8.1

New in VB Decompiler Lite 9.8 (Oct 3, 2014)

  • New feature (only for licenses with Tracing support): trace to this address. Just right click on an address in a decompiled or disassembled code (like loc_00401000) and select same menu link. Opened code will be emulated up to the selected address and you'll see stack and registers state at this line. This function works like a breakpoint on a debugger, but no code executed, only emulated. This feature is experimental and may fails if emulator can't emulate some assembler opcode (Native Code)
  • New x86/64 disassembler, based on mediana source code
  • Changing 4 bytes of string length after editing string in String References
  • Detect TypeLib GUID from UUID of the external components and save to the Project (vbp)
  • Decompile calls in UserControls with addresses in VTable (calling external ActiveX controls, placed on UserControl)
  • Disable edit menu in a String References for strings with null chars
  • Translation of new words to German, Japan, Russian
  • Translation to Kurdish (sorani)
  • Translation to Indonesian
  • BugFix: Parse standard COM objects for some Native Code applications
  • BugFix: Jumping to strings contained quotes in String References
  • BugFix: Ignore DataReport files during obfuscation process
  • BugFix: Emulate some conditional jumps (Native Code)
  • BugFix: Finding addresses of some functions in modules (Native Code)
  • BugFix: Processing MethodSpec with zero parameter (.NET)

New in VB Decompiler Lite 9.7 (Mar 14, 2014)

  • Native Code emulator is highly improved
  • Detect and decompile calls to the external ActiveX on-the-fly. Connect to
  • the external ActiveX by CLSID, check IID and get properties and methods (Native Code)
  • Wine (linux) support
  • New feature: copy decompiled code to disassembler. Just right click in a
  • decompiled code and select same menu link
  • Open database (VDD) by drag and drop to main window
  • Open database (VDD) from command line
  • Generate empty variables from referencess to empty memory (Native Code)
  • Decompile msvbvm functions: __vbaGet3, __vbaGetFxStr3, __vbaGetOwner3,
  • vbaPut3, __vbaPutFxStr3, __vbaPutOwner3, rtcEndOfFile, rtcCurrentDirBstr,
  • rtcDir, rtcFileReset, rtcFreeFile, rtcVarDateFromVar, __vbaFPFix,
  • vbaFPInt, rtcFilter, __vbaBoolStr, __vbaCyI2, __vbaCyI4, __vbaDateR4,
  • vbaDateR8, __vbaHresultCheck, rtcErrObj, rtcIMEStatus,
  • rtcFormatCurrency, rtcFormatPercent, rtcMidBstr, rtcMidVar,
  • rtcWeekdayName, rtcMonthName, __vbaStrComp, __vbaAryVar,
  • vbaAryCopy, rtcGetObject, __vbaErase, __vbaVarZero,
  • rtcCallByName, rtcDateDiff, rtcDatePart, rtcSLN,
  • rtcSYD, rtcDDB, rtcIPMT, rtcPPMT, rtcPMT, rtcPV, rtcFV,
  • rtcNPer, rtcRate, rtcIRR, rtcMIRR, rtcNPV, __vbaDerefAry1 (P-Code, Native Code)
  • Decompile msvbvm functions: CVarErrI4, ImpAdCallUI1, ImpAdCallI4,
  • FnStrComp3, FnStrComp3Var, VarLateMemLdVar (P-Code)
  • Delete unused variables during emulation __vbaFreeVar (Native Code)
  • Decompile OpenFile functions with processing all parameters (Native Code)
  • BugFix: a lot of fixes in msvbvm50 signatures
  • BugFix: decompiling rtcVarBstrFromByte, __vbaInStr, __vbaInStrB,
  • vbaStrCopy, __vbaStrMove, __vbaStrVarMove functions, rtcBeep,
  • rtcCommandBstr, rtcCommandVar, rtcInputBox, rtcShell,
  • rtcMsgBox, rtcDoEvents, __vbaObjSetAddref, rtcPackDate,
  • rtcPackTime (P-Code, Native Code)
  • BugFix: decompiling GetRec4, PutRec4, FnInStrB4, FnLenBStr, Erase (P-Code)
  • BugFix: decompiling Math functions (Native Code)
  • BugFix: checkbox "Parse stack parameters" works incorrectly
  • BugFix: parsing additional methods (P-Code)
  • BugFix: unclose quotes in some strings (P-Code)

New in VB Decompiler Lite 9.6 (Jan 13, 2014)

  • Show user strings after click on #US heap (.NET)
  • Added support for calling APIs by ordinals (P-Code)
  • Disassembler tab for unmanaged .NET code
  • Smart search in HEX Editor mode (supported searching ANSI, UTF-16 and HEX)
  • Hotkeys Ctrl+F and F3 also worked
  • Selected text automatically copied to the Search dialog after pressing Ctrl+F
  • Decompile calls to user functions with processing parameters (Native Code)
  • Decompile msvbvm functions: __vbaRecDestruct, __vbaRecDestructAnsi,
  • vbaRecUniToAnsi, __vbaInStr, __vbaInStrB, rtcErrObj, __vbaVarCmpEq,
  • vbaVarCmpGe, __vbaVarCmpGt, __vbaVarCmpLe, __vbaVarCmpLt, __vbaVarCmpNe,
  • vbaVarTstEq, __vbaVarTstGe, __vbaVarTstGt, __vbaVarTstLe, __vbaVarTstLt,
  • vbaVarTstNe (Native Code)
  • Ignore parameters in "Exit Sub" function (Native Code)
  • Filtered a lot of compiler code (Native Code)
  • Filtered references to compiler code (Native Code)
  • Updated German localization (thanks to Hors)
  • BugFix: options "Add address", "Add HEX dump"
  • BugFix: processing vbNullString in Caption of form controls

New in VB Decompiler Lite 9.5 (Nov 19, 2013)

  • Support for the x64 .NET applications (managed code only)
  • All translations is true unicode now
  • Correctly show unicode chars in name of form, module, function, code, etc
  • Unicode editing of String References
  • All internal code and structures is rewriten to unicode now
  • New functions for String References (access from the popup menu):
  • copy to clipboard and open in a HEX Editor
  • Deleted right edge line at the code listing
  • ProgressBar in Windows 7/8 taskbar
  • Increased string referencess processing speed
  • Filtering empty lines of code
  • File opening and compiler checking optimized
  • Increasing speed of the parsing methods (VB5/6)
  • Refactoring and optimizations
  • Search strings without a case sensitive
  • After opening database and if file for the decompilation is not found,
  • VB Decompiler trying to search file in a folder with database
  • Processing single vbCr and vbLf (P-Code)
  • Show partially recovered DataReport, DataEnvironment, DHTMLPage designers (dsr)
  • PropertyPages (pag) and UserDocuments (dob)
  • BugFix: Fixed adding empty comments in disassembler mode
  • BugFix: Fixed processing of string referencess (if lines more
  • than possible in ListBox)
  • BugFix: No more doubles in string referencess
  • BugFix: Fixed decompilation assembler code from addresses in .NET assemblies
  • BugFix: Fixed finding the ending of function with old style of ending
  • BugFix: Fixed editing of the string referencess
  • BugFix: Fixed cleaning of the ObjectList array before load new application
  • BugFix: Correcly open databases if file for the decompilation is not found
  • BugFix: Don't crashes on jumping to procedure by doubleclick
  • if project has no forms
  • BugFix: Correctly process address in relative jumps (Native Code)
  • BugFix: Correctly save VB6 app to the database after saving .NET app
  • to the another database
  • BugFix: Correctly save and assign Width of main form on some systems
  • BugFix: Emulation error "$ret_1 is not valid integer value"
  • BugFix: Doubles in object section of project file
  • BugFix: Crashes on showing collapsed blocks of code in code viewer

New in VB Decompiler Lite 9.4 (Aug 19, 2013)

  • Main interface completely redesigned. Now you can view both decompiled and disassembled code on one screen. You can also view and edit a file in HEX mode on the same screen. It's so nice and easy!
  • UserControls tab is now hidden in the tree for files without user controls. The same action is for Form tab for files without forms and for Project tab for files without GUI objects.
  • Plugins SDK is improved. Added new functions: GetActiveDisasmText (52), SetActiveDisasmText (53), GetModuleFunctionDisasm (70), SetModuleFunctionDisasm (71)
  • Show references from GoTo in Native Code
  • Parsing "If" ... "End If" and "If" ... "Else" ... "End If" blocks in Native Code (experimental, you may enable it in Options)
  • Support for the 125% fonts in Windows
  • Language select and autodetect the system language in installer
  • English and Russian help files updated
  • A copy of SubMain code is displayed on a dedicated page
  • New language files and updates of the existing files
  • Processing files with 10,000+ controls in all forms
  • Set focus on a decompiled code after opening any function and show the active form in a treeview.
  • Auto-backup before changing file in a HEX editor.
  • Saving result dialogs improved. Auto-select the directory with the decompiled file, checking for the opened file, etc.
  • BugFix: Fixed processing of files without any forms or modules
  • BugFix: Fixed processing of files without any procedures or functions
  • BugFix: Fixed processing of VB6 files with incorrect entry code
  • BugFix: Fixed errors that arose during processing
  • BugFix: Fixed processing command line. Deleted "Ok" message for files, decompiled from command line
  • BugFix: Fixed allocating memory for the text values for the plugins
  • BugFix: Fixed processing saved Left and Top values of main form of the VB Decompiler
  • BugFix: Fixed disassembling large functions in Lite version
  • BugFix: Fixed processing strings with an incorrect bytes in end of string

New in VB Decompiler Lite 9.3 (Apr 5, 2013)

  • New powerful HEX editor in the "Patch data" tool with highlighting changes, undo/redo functions and copy/paste the HEX blocks of bytes
  • Patch dialog is now sizable (size will save to registry and will use at next VB Decompiler start)
  • Czech language translation and documentation
  • China language documentation
  • Decompiling applications with more than 999 forms, modules and classes
  • Not show "Do you want to..." message before opening any file
  • Changes in processing "FC67" opcode (P-Code)
  • Show NewIfNullPr opcode in Lite version (P-Code)
  • Show a status of ptocessing methods
  • BugFix: Some memory leaks is fixed
  • BugFix: Correctly process modules with some unknown flags (Native Code)
  • BugFix: Correctly process incorrect offsets (Native Code)
  • BugFix: Correctly process translation of the main menu
  • BugFix: Correct processing of complex strings in VB6 applications
  • BugFix: Correctly detect retn command (Native Code)
  • BugFix: Correctly process incorrect "edi" register value in "call" command (Native Code)
  • BugFix: Fix access violation on double clicking the clean text field
  • BugFix: DLL obfuscation now works correctly

New in VB Decompiler Lite 9.2 (Nov 14, 2012)

  • Windows 8 is fully supported
  • Decode UTF8 names (.NET)
  • Jumping by clicking on a procedure name
  • Popup menu for the treeview is now allow to copy a name of the item
  • Popup menu for the code view with the Copy and Select All operations
  • Show the virtual addresses of the string references in code (.NET)
  • Syntax highlighting for branches (.NET)
  • Show TypeDef table content (.NET)
  • Process filters for SEH handlers (.NET)
  • String references dialog is now sizable
  • Caching the color highlighted procedures in standard control
  • Splash screen (show loading process at decompiler start)
  • Saves parameters of the main window (left, top, width, height and splitter position)
  • to the registry and restoring it after launching the VB Decompiler.
  • New code highlighting control based on SynEdit sources
  • New color scheme and code highlighting scheme
  • Drag'n'drop files is accepted to the whole form
  • Show the different icon in the API declarations (.NET)
  • BugFix: Correctly update checkboxes after resizing the windows
  • BugFix: Correctly process ldloc and stloc opcodes (.NET)
  • BugFix: Correctly process tables alignment (.NET)
  • BugFix: Correctly process tables if count is more than 44 (.NET)
  • BugFix: Correctly patch data using Patch data dialog
  • BugFix: Correctly proccess parameters of the last MethodDef table field (.NET)
  • BugFix: Correctly emulate labels and finally markers (Native Code)
  • BugFix: Correctly process user classes with the incorrect RTTI (Native Code)

New in VB Decompiler Lite 9.1 (Sep 17, 2012)

  • Decompile MidVar and MidBVar functions (P-Code)
  • Correctly process and save DataDesigner classes
  • BugFix: More fixes in the form's parser

New in VB Decompiler Lite 9.0 (Jul 16, 2012)

  • TreeView works faster on large files
  • Detect type of project (P-Code or Native) after opening database
  • needs to correctly decompile some code if database is saved in
  • Fast decompilation mode
  • Load and save objects information to the database if
  • Fast decompilation option is active
  • Speed of the procedure analyzer and optimizer is improved
  • Decompile calls to the "List" properties in FileListBox, DirListBox and other
  • Save blobs of the UserControls to the .ctx files
  • Stack max size is changed from 9 to 16 (VB)
  • FPU stack max size is changed from 7 to 16 (VB)
  • Calling methods and properties from user classes is supported now
  • Clear "this" pointer after end of each block (If, For) of opcodes (P-Code)
  • Support "this" pointer in the UserControls and PropertyPages (VB)
  • Declare global object variables in the classes
  • Japanese translation by Okamoto Alpha (okamoto{at}alpha-sys.co{dot}jp)
  • FPU formulas translation (Native Code)
  • Support for the commands "ldelem", "stelem", "unbox.any" and "readonly" (.NET)
  • Checking file for an incorrect fields before decompilation
  • BugFix: Correctly save frx and ctx files
  • BugFix: Make correctly header for class modules
  • BugFix: Correctly process Property Let parameters
  • BugFix: Correctly process LateMemSt opcode in some cases (P-Code)
  • BugFix: Correctly assign variables to a typed object properties (P-Code)
  • BugFix: Correctly process databases without code
  • BugFix: Correctly generate object references in the Project file (VB)
  • BugFix: Correctly process the linear sizes of the controls (VB Forms)
  • BugFix: Correctly process fstp command (Native Code)
  • BugFix: Correctly obfuscate some of the Delphi programs (Native Code)
  • BugFix: Correctly detect end of code in C++ and Delphi procedures (Native Code)
  • BugFix: Correctly generate API cache in disassemler mode
  • BugFix: Correctly process unsigned integers in code (.NET)
  • BugFix: Correctly process some cases of prototypes (.NET)
  • BugFix: Correctly save compiler version to result text file (.NET)
  • BugFix: Correctly show procedure name for unknown procedures in function result
  • BugFix: Correctly open the string references in large programs
  • BugFix: Correctly parse stack after jmp opcode which used in SEH (Native Code)
  • BugFix: Correctly process ComboBox text properties in Forms
  • BugFix: Correctly process the global varialbes in the FPU emaulation (Native Code)
  • BugFix: Correctly process prototype in array of object (VB)

New in VB Decompiler Lite 8.4 (Jan 27, 2012)

  • Locale detection for Unicode names in decompiled applications
  • Database is now also contain information about locale
  • Correctly saving files with unicode names
  • Correctly detect type of some modules
  • Compatability fixes for supporting Wine (Linux)
  • Self testing VB Decompiler engine before start
  • ProgressBar in Windows 7 taskbar is now works in SP1
  • Decompile __vbaUI1I2 and __vbaUI1I4 msvbvm functions
  • BugFix: Correctly detects size of the unmanaged .NET code

New in VB Decompiler Lite 8.3 (Aug 31, 2011)

  • Calling VTable properties and methods from some form to any other form now can be decompiled. For example if you change in Form1 property of object in Form2 - it can be correctly decompiled (Native Code)
  • Parameters of object method/property is now typicle. If object have parameters as boolean or single - it will be decompiled correctly: single as float variable, boolean as True/False) (Native Code)
  • Decompile declaration of all types of array. Multifield arrays and arrays of object (array of Form or commandButton for example) also supported (Native Code)
  • Decompile __vbaVar2Vec, __vbaAryMove msvbvm functions
  • Italian language translation
  • Parsing control array index in events
  • Parsing function return value (P-Code)
  • Help files (English and Russian) is updated. New topics writen: Opening file, Working with database, Saving the list of procedures, Jump to address, The main window, Viewing of code, Decompilation from offset, Language selection, Plugins
  • Language files changed
  • BugFix: Correctly calculate count of parameters in public sub's
  • BugFix: Procedure analyzer and optimazer now correctly process second parameter in For command
  • BugFix: Correctly process some types of VarType integer and long (Native Code)
  • BugFix: Correctly detect end of some non-standard procedures in source mode (Native Code)

New in VB Decompiler Lite 8.2 (Jul 12, 2011)

  • More additionals in P-Code and Native Code
  • Unpacker engine highly improved
  • Some bug fixes

New in VB Decompiler Lite 7.9 (Mar 4, 2010)

  • Decompiling User defined ScaleMode in Forms and PictureBoxes
  • Decompiling all ImpAdLd* P-Code opcodes
  • Decompiling LateIdCallLdVar P-Code opcode
  • Checking unset variables in Native Code
  • Decompilation of Native Code is improved
  • Correclty calling user defined functions in Native Code
  • Correclty detect parameters of user defined functions in Native Code
  • Parsing ByRef variables in Native Code
  • Decompiling type &h4008 (pointer to file) in Native Code
  • Decompile rtcBstrFromFormatVar function
  • Decompile __vbaStrToUnicode function
  • Strings with apostrophes now supported and decompiled correctly
  • Powerfull strings parsing with correct decoding special chars in Native Code
  • Objects database format changed, type of RetVal added
  • Decompiling objects calling with new object as result,
  • changing "This" and declare variable with new type
  • Variables declaration in Native Code
  • Decompile __vbaBoolVarNull function
  • Emulate "not" command
  • Unpacker engine highly improved, driver rewriten
  • BugFix: Wrong decompiling ScaleMode types larger than 0
  • BugFix: Wrong decompiling fields from Global GUID (Clipboard, Printer, etc)
  • BugFix: Compile stack parameters now enabled by default

New in VB Decompiler Lite 7.8 (Mar 4, 2010)

  • Unpacker engine improved
  • Working on Windows x64 improved
  • References in IL code
  • Decompiling P-Code procedures with size larger than 32767 bytes
  • BugFix: Crashes on decompiling .NET programs in "full decompilation" mode4

New in VB Decompiler Lite 7.7 (Oct 21, 2009)

  • Two types of "Decompile from VA" in .NET (IL and ASM decompile)
  • Obfuscator modified for stop false alarms on AV
  • New version of Show References plugin. More fixes
  • Language autodetection for decompiled VB file (you don't see "???" in code anymore)
  • Detecting names of public variables in classes
  • Decompiling access to public variables from one class to another
  • Database for VB5 updated
  • New options window
  • Windows 7 fully supported now

New in VB Decompiler Lite 7.6 (Jun 18, 2009)

  • Coprocessor emulation improved
  • Fully compatable for old OS versions (like 9x/Me)
  • Optimization for Windows 7 RC1
  • Unpacker engine improved
  • BugFix: User strings (#US heap) parsing (.NET)
  • BugFix: Incorrect decompile some classes in full decompilation mode

New in VB Decompiler Lite 7.5 (Jun 18, 2009)

  • Namespace loading speed improved (.NET)
  • Open and Save DataBase (.NET)
  • Saving to TXT, IDC, Names, MAP (.NET)
  • Save all in one module (.NET)
  • Show String References (.NET)
  • Cache decompiled code (.NET)
  • Edit String References (.NET)
  • Parsing rtcGetDateValue
  • Parsing rtcFileDateTime
  • Intelliparsing large Native procedures
  • Now you may find address jumps in active window
  • simply select address and press Ctrl+G
  • Unpacker engine updated
  • BugFix: Scroll after click to string references
  • BugFix: GoTo Virtual Address

New in VB Decompiler Lite 7.4 (Apr 8, 2009)

  • BugFix: Some crashes while decompiling obfuscated code

New in VB Decompiler Lite 7.2 (Mar 23, 2009)

  • New unpacker engine
  • Version Check plugin for checking new versions of VB Decompiler
  • Changes in all help files
  • Parsing __vbaI2I4
  • Parsing __vbaR8Sgn
  • Parsing __vbaR8Str
  • Coprocessor emulation improved
  • If "Add Address" is unchecked in "Options" you may only use disassembler mode
  • New version of Show References plugin

New in VB Decompiler Lite 7.1 (Feb 22, 2009)

  • Control arrays decompilation in P-Code
  • New unpacker engine
  • Control Arrays events detection
  • BugFix: Decode first section offset in dumped programs
  • BugFix: Lcase and Ucase is not checked in type name
  • BugFix: Error in decompiling Labels in Native Code

New in VB Decompiler Lite 7.0 (Dec 19, 2008)

  • New unpacker engine
  • Help files changed
  • "For Each" decompilation in Native Code
  • Screen object
  • Printer object
  • Clipboard object
  • vbGlobal parsing
  • vbSingle type of data
  • Dispatch vbaLate functions parser
  • Clear FPU error checking and objects checking instruction in Native Code
  • rtcGetErl decompilation
  • Objects declaration in P-Code
  • Parsing "Set" opcode and use this variables in object reference
  • "FnIntVar" decompilation in P-Code
  • Resorting history after deleting items
  • FRX Viewer plugin (need .NET Framework 2.0)
  • New type of renaming Unknown functions
  • BugFix: P-Code Put and Get opcodes
  • BugFix: Procedure analyzer and optimizer no don't clear some variables
  • BugFix: Clear "@" chars in names of P-Code procedures and functions
  • BugFix: Parameters in VTable Get/Let/Set procedures

New in VB Decompiler Lite 6.0 (Oct 31, 2008)

  • New unpacker engine
  • Parameters detection in unknown P-Code procedures
  • Visual Basic 4.0 32 bit forms decompilation
  • Parsing __vbaVarCopy
  • Parsing __vbaVarCat
  • Parsing __vbaVarMove
  • Parsing __vbaStrMove
  • Parsing __vbaChkstk
  • Parsing __vbaVarPow
  • Parsing __vbaVarDiv
  • Parsing __vbaVarMul
  • Parsing __vbaVarAdd
  • Parsing __vbaVarSub
  • Parsing __vbaVarAbs
  • Parsing __vbaVarAnd
  • FPU commands emulation
  • BugFix: VB Decompiler now vorking in Windows 2008 Server without crashes
  • BugFix: Form parsing if control has no id
  • BugFix: Vars parser in Native Code
  • BugFix: User controls decompilation if function type = 256

New in VB Decompiler Lite 3.7 (Nov 25, 2007)

  • Fast Native Code loading
  • Import parser improved
  • Native Code emulator fixed
  • String references searching

New in VB Decompiler Lite 3.6 (Nov 8, 2007)

  • Show External API calls in Native Code
  • New plugin LangeFree for editing language dll name in VB programs (thanks to Executioner)
  • All windows centered to owner
  • Methods parsing optimized
  • Strings parser rewriten (now working spaces after and before strings and with zero bytes in string)

New in VB Decompiler Lite 3.3 (Apr 24, 2007)

  • Method types recovery (Sub or Function), Functions names recovery, Functions parameters recovery (with names), Native Code modules decompiler (new code binary search and analization).

New in VB Decompiler Lite 3.1 (Jan 17, 2007)

  • Native Code disassembler improved (some code emulating and tracing)
  • Native __vbaFreeObjList, __vbaFreeStrList, __vbaFreeVarList decompilation
  • WebClass decompilation (this forms is only used in DLL's)
  • Add "All Files" pattern to "Open File" dialog
  • VB Decompiler version to result files
  • "Write" and "Input" VB opcodes decompilation
  • "Format" VB5 API decompilation
  • All ImpAdSt* opcodes decompilation
  • All modules ObjectType=&H18041 decompilation
  • New plugin function SetActiveTextLine (54)
  • New plugin function GetActiveModuleCoordinats (55)
  • New plugin function GetVBDecompilerPath (56)
  • Bugfix: Image under textbox flashing
  • Bugfix: "Add Address" option lock decompilation process
  • Bugfix: Menu unlocking after .NET prgrams loading
  • Bugfix: String references End_ID not used correctly
  • Bugfix: API in events declarations not filtered in the p-code
  • Bugfix: Command32 parameter in project with one quote.
  • Bugfix: SystemPath changed to system32 in project
  • Bugfix: Native Code class in "Fast Decompilation" mode is not decompiling
  • Bugfix: VB5 P-Code modules procedures is not right
  • Bugfix: Plugins menu fixed in Windows Vista

New in VB Decompiler Lite 3.0 (Nov 21, 2006)

  • Advanced code patcher instrument,
  • prototypes generator for all functions,
  • String References engine improved,
  • Asm Plugin SDK (thanx to Jupiter).

New in VB Decompiler Lite 2.7 (Oct 14, 2006)

  • This version of the decompiler contains huge modifications. Now you can
  • decompile even a 10-megabyte EXE file for only 5-10 seconds. It became
  • possible due to the on-the-fly decompilation technology.

New in VB Decompiler Lite 2.6 (Aug 31, 2006)

  • Obfuscator engine improved;
  • decompile VB5 modules;
  • more than 100 MSVBVM50.DLL signatures;
  • decompiling string references in .NET applications;
  • find string into text field and find string references in RAEdit control;
  • fixed some bugs in obfuscation engine

New in VB Decompiler Lite 2.3 (Jun 16, 2006)

  • Updated more beautifull icons
  • More syntax coloring options
  • Decompiling GUID objects at p-code improved
  • Many new signatures and fixes
  • Decompilation speed increased
  • C Plugin SDK (thanx to Jupiter)
  • Decompiling "Print" opcode
  • String references in native applications
  • Data object unicode properties
  • P-Code commands with 10 or more parameters