VDisAsm Changelog

What's new in VDisAsm 1.8

Apr 17, 2014
  • Improved speed on virtual memory operations.
  • Analysis speed improvement.
  • Critical problem related to cache trashing fixed.
  • Added loader dialogue to display sections to load, entry, code type.
  • Merged DOS and PE loader.
  • List views can be exported to text file (select all and export).
  • Define String: added UTF-8/UTF-16/Reset button for fast string encoding switch.
  • Hex View: improvements of selection rendering.
  • Faster disassembly rendering.
  • Minor bugs fixed.

New in VDisAsm 1.6 (Apr 17, 2014)

  • A great update is docking interface. It makes UI much cleaner.
  • There are 2 layouts: default and current. Layout files are located in %local%\docklayouts dir. From View menu you can Load default layout to discard current layout or save current layout as default.
  • Second change is advanced copy special dialog. Now it allows more options to tune dumped text.
  • Benchmark plugin updated. Now it registers additional menu “Benchmark” with subitems:
  • Test VM read
  • Test adding names
  • both tests create simple database in %temp% directory and test section filled with nulls. It’s generally for internal use or can be an example of plugin (source code is available).
  • Quite a big bottleneck was fixed. It was related to UI refresh of list views being too slow (like names, problems, imports and other). Now refresh is done a lot faster (loading and analysis became faster too because of this).
  • List of recently opened items now is displayed in File menu. The file names are stored in %local%\recent.txt

New in VDisAsm 1.5 (Apr 17, 2014)

  • API updated to simplify creation of plugins:
  • Currently plugin can export following symbols
  • PluginInfo: general plugin information
  • CreatePlugin: function to create plugin interface
  • ProvidedTypes: list of names of types plugin provides (i.e. can decode and optionally encode)
  • CreateTypeProvider: creates type provider interface by given type name
  • Now cpu plugins (and any plugin providing type decoder) is not strictly bound to some type name (i.e. can be renamed safely). Core will scan all cpu and type provider plugins to map type name and plugin that can decode this type. Actual plugin will be loaded on first use.
  • Also loader plugins simplified (no need to specify type provider plugin anymore).
  • Standard type provider is in tp_std.dll module now instead of built-in unit.
  • DOS loader added:
  • It does minimal parsing of MZ files and load ‘code’ and ‘data’ sections into database.
  • Note: due to addresses are relative to segment base in 16-bit DOS and VDisAsm uses flat memory, disassembled addresses can be wrong. This will remain an issue until following things get implemented:
  • disassembler support for addresses relative to segment register
  • segment register value tracing
  • There is no defined timeframe for this task because DOS is lowest priority for now.
  • CPU plugin extended to disassemble 16-bit instructions. This change breaks compatibility with older databases. You need to delete old ones and open input file in latest version.
  • Plugins examples published:
  • Examples of plugins are published here: https://code.google.com/p/vdisasmpub/
  • It can be used to check available APIs and how generic plugin or loader can be created. Examples are in Delphi, but plugins can be also created in Lazarus.
  • APIs are going to be changed a lot, so plugin compilation can be broken and adapting to new APIs needed.

New in VDisAsm 1.4 (Apr 17, 2014)

  • Support for strings added
  • Problem list added
  • Analysis options get documented
  • References improved a bit.
  • Reference menu removed (use reference window instead).
  • New analysis option to handle calls as jumps.
  • Disassembler window now prints hex dump. Width can be changed or hex dump disabled from Hex Dump Width context menu.
  • Minor PE loader fixes
  • Fixed Access Violation when trying to load 16-bit DOS image. Now it can load it as binary (thanks to dosprog from exelab).

New in VDisAsm 1.3 (Sep 10, 2013)

  • Internal bugfixes. Mostly related to virtual memory management and some GUI fixes.
  • Listview fixes and improvements.
  • Now there is text Search for list of Secitons, Names, Exports, Imports.
  • Byte Search is improved. Now it allows String Search also. The great news is strings can be searched by Code Page. Check help for more details (Search).

New in VDisAsm 1.2 (Sep 9, 2013)

  • PE Loader bugfixes
  • ELF Loader bugfixes
  • Section View bugfixes
  • Copy Special: added “Pascal asm bytes” mode
  • No trial limitation for Win32 version now
  • Win64 version removed from trial package (it’s present in full package)
  • Some analysis options added (invoked through context menu)