VMProtect Ultimate Changelog

What's new in VMProtect Ultimate 2.13.2

Aug 13, 2013
  • [!] PE: Delayed Import support added
  • [!] PE: VS2012 compatibility improved
  • [!] PE: Embarcadero RAD Studio XE3 compatibility improved
  • [!] PE: MinGW compatibility improved
  • [!] Ultimate: DLL Box compatibility improved with Windows 8
  • [+] WebLM: Added support for mbstring.func_overload = 2
  • [+] WebLM: Activation codes now have "expiration date" field, so VMProtectActivateLicense may return ACTIVATION_EXPIRED, if the current date is past the expiration one
  • [+] WebLM: Expiration date and maximal build date for modes can be relative to the current date

New in VMProtect Ultimate 2.12 (Aug 13, 2013)

  • [!] PE: fixed some errors in x64 mode
  • [!] PE: fixed error in applications with IMAGE_DLLCHARACTERISTICS_NX_COMPAT flag
  • [+] PE: Windows 8 support added
  • [+] WebLM: Russian and Chinese localizations added

New in VMProtect Ultimate 2.11 (Aug 13, 2013)

  • [!] x64 binaries packing error fixed
  • [!] PE: import protection error fixed
  • [!] PE: TLS procession error fixed (for TLS sections with relocs)
  • [+] Ultimate: activation module added
  • [+] Mach-O: Packing added
  • [*] PE: DriverVerifier support added
  • [*] PE: Better SEH support for MSVC compiler
  • [*] Mach-O: Better support for IndirectSymbols

New in VMProtect Ultimate 2.1 (Aug 13, 2013)

  • [!] Resource protection error fixed
  • [!] Import protection error fixed
  • [!] Fixed protection of 64-bit drivers without relocs
  • [+] Mac OS X files (Mach-O) support added
  • [+] Added support of HLT command
  • [+] New API in the SDK: VMProtectFreeString
  • [*] Markers and encrypted strings detection enhanced
  • [*] Relative paths are supported in the source file name and licensing parameters
  • [*] SEH support enhanced for Delphi
  • [*] SenseLock Edition: resource protection feature added
  • [*] SenseLock Edition: GUI version got a license manager
  • [*] SenseLock Edition: GUI version got a dongle flashing feature
  • [*] License manager allows copying and pasting licenses from the clipboard

New in VMProtect Ultimate 2.09 (Aug 13, 2013)

  • [!] Debugger detection fixed for Windows 2000
  • [!] Fixed the disassembling of PMULHUW and LDMXCSR commands
  • [!] Memory protection issue fixed (related to checking the file on disk)
  • [!] Ultimate: fixed problem with running of protected files with licensing on Windows 2000
  • [*] Enhanced Visual C exception handlers virtualization
  • [*] Resource protection is available in Professional edition
  • [*] Resource protection enhanced with support of EnumResourceTypes, EnumResourceNames and EnumResourceLanguages functions (for the main executable only)
  • [+] Added support for Borland C Builder exceptions
  • [+] Ultimate: Improved speed of VMProtectGetSerialNumberState and VMProtectGetSerialNumberData functions
  • [+] Scripting class TLicenseManager enhanced with the Save method
  • [-] The "Move resources to the end of file" options is removed - the resources are always moved to the end of file now.

New in VMProtect Ultimate 2.08 (Aug 13, 2013)

  • [!] Fixed issue with the assembling of TEST [XXXX], REG command
  • [!] Fixed issue with the disassembling of x64-commands with 0x67 prefix
  • [*] Enhanced support of files with small SectionAlignment value
  • [*] Enhanced markers and strings detection for Intel Compiler 12 and Lazarus
  • [*] Enhanced import protection
  • [*] Ultimate: Support of "licenses-only" projects
  • [+] Ultimate: Added resource protection
  • [+] Ultimate: Classes TLicense and TLicenseManager are added to scripting

New in VMProtect Ultimate 2.07 (Oct 18, 2010)

  • New features:
  • Error messages like “File is corrupted” or “The code requires a valid serial number to run” are fully customizable now.
  • Message customization is fully supported in scripts (the “Messages” property of TVMProtector)
  • Improvements:
  • Enhanced compatibility with F-Secure antivirus software
  • Bugfixes:
  • Fixed problem with license manager, if it runs on non-English version of Windows

New in VMProtect Ultimate 2.06 (Sep 26, 2010)

  • Fixed marked detection in MinGW files
  • Fixed import protection bug in 64-bit files
  • Fixed virtualization of FILD WORD PTR [XXXX] instruction
  • Fixed the incorrect disassembling of PSRLW instruction
  • Fixed DLL Box errors with some antivirus applications
  • VMP files are now in XML format
  • Scripts are stored in VMP files as well, VMS are not used anymore
  • Ultimate: License Manager is moved to VMProtect interface
  • Ultimate: the speed of code locked to serial number is significantly improved
  • Added support of MinGW map files
  • Added support of JCLDEBUG library
  • Scripts: new method Clear in TPEDirectory
  • Scripts: new properties InputSize and OutputSize in TVMProcedure
  • Ultimate: Two new API functions in SDK: VMProtectBeginVirtualizationLockByKey and VMProtectBeginUltraLockByKey

New in VMProtect Ultimate 2.04 (Feb 24, 2010)

  • Fixed error related to the obfuscation of FDIVR [ESP+XXXX]
  • Fixed error related to the obfuscation of SWITCH in x64 applications
  • Memory protection now checks the file on disk as well
  • Ultimate: Better integration of licensing module and protected application
  • Files with overlays are now supported
  • Ultimate: Added serial number generator example on C#
  • Ultimate: License manager now exports product data for C# serial number generator
  • Ultimate: Console version has a new parameter "-lf" that defines file with licensing parameters
  • French help file was added

New in VMProtect Ultimate 2.03 (Jan 8, 2010)

  • Fixed import protection bug for SYS-files under Windows 7 (base address of hal.dll was not detected properly)
  • Fixed incorrect obfuscation of commands that use CRx reigsters in SYS-files.
  • Small bugs fixed
  • Licensing system improved in Ultimate version
  • French language added

New in VMProtect Ultimate 2.02 (Jan 8, 2010)

  • SenseLock Edition's bug fixed, that may appear while using several licenses simultaneously if they are stored in the same dongle (it is neccessary to update license in the master key)
  • Entry Point disassembly error fixed (for Delphi apps only)
  • Small bugs were fixed
  • Licensing system improved in the Ultimate edition
  • SenseLock Edition uses VMProtect Ultimate licensing (it is neccessary to update license in the master key)
  • Improved detection of strings, marked with VMProtectDecryptStringA/VMProtectDecryptStringW
  • Unicode support added
  • Added Chinese Traditional translation

New in VMProtect Ultimate 2.01 (Jan 8, 2010)

  • Small bugs fixed in installer, License Manager and SDK
  • VMProtect now uses its own licensing system
  • Added Chinese Simplified language

New in VMProtect Ultimate 2.0 (Jan 8, 2010)

  • Bugs have been fixed solving the errors during disassembly and virtualization of the CALL FWORD PTR [XXXX] and JMP FWORD PTR [XXXX] instructions
  • Bug fixed solving the error in the SenseLock Edition during the key serial number request after the standard user PIN is changed
  • Bug fixed solving the error during the virtualization of the SWITCH in the x64 applications
  • Bug fixed solving the error during the virtualization of the ROL, ROR, RCL, RCR, SHL, SHR, SAL and SAR instructions, which have REF preffix in the x64 applications
  • Minor bugs have been fixed
  • The Russian help file has been updated
  • The English help file has been updated
  • The licensing system has been added (available only in the Ultimate version)
  • A new API is now available in the SDK - VMProtectDecryptStringA and VMProtectDecryptStringW
  • The CompilationOptions property for the TVMProcedure class has been added to the script
  • The SELicense and SEVersion properties for the TVMProcedure class has been added to the script (available only in SenseLock Edition)
  • The VMSectionName and VMExecutorCount properties for the TVMProtector class has been added to the script
  • The SEMasterPassword, SEUserPIN, SEKeyID, SELicense and SEVersion properties for the TVMProtector class has been added to the script (available only in SenseLock Edition)
  • The "Create online commands dynamically" option has been removed

New in VMProtect Ultimate 1.81 (Jan 8, 2010)

  • The bug causing an error during the execution of mutated code on Pentium 4 CPUs has been fixed
  • The bug causing an error during the execution of virtualized code on some Athlon CPUs has been fixed
  • The bugs causing errors during the disassembling and virtualization of structures describing exception handlers with a filter for the exception class have been fixed (for programs in Delphi and Borland C++ Builder)
  • The bug causing an error in case several VM in 64-bit files are used has been fixed
  • Minor bugs have been fixed
  • Marker names are now better determined (for programs in Visual C)
  • RAM usage during the compilation process has been considerably reduced
  • The "HTML" resource is no longer packed
  • The Russian help file has been updated
  • The list of procedures by mask has been added in the "Wizard" mode
  • A new packing mode with a higher compression rate is now available
  • Now files having TLS callbacks are supported
  • A new API is now available in the SDK - VMProtectIsValidImageCRC

New in VMProtect Ultimate 1.7 (Nov 7, 2008)

  • Sections having the SHAREABLE+WRITABLE flags are not packed now
  • The import protection for SYS files has been improved
  • SYS files are now packed better (the WRITABLE flag is no longer set for packed sections)
  • Debugger detection has been improved
  • The "Memory protection" option has been added (this option protects memory against changes while the application is running)
  • The "Virtualization tools detection (VMware/Virtual PC)" option has been added
  • The EntryPoint property for the TPEFile class has been added to the script

New in VMProtect Ultimate 1.65 (Aug 14, 2008)

  • The import protection has been improved
  • The debugger detection has been improved
  • The detection of unpaired markers has been added (unpaired markers are available in list of objects)
  • New markers with established compilation type has been added: VMProtectBeginVirtualization, VMProtectBeginMutation and VMProtectBeginUltra
  • The Traditional Chinese language has been added

New in VMProtect Ultimate 1.56 (Oct 23, 2007)

  • The bug causing an error during the virtualization of the BT, BTC, BTR and BTS has been fixed
  • Minor bugs have been fixed
  • The list of protection options is sorted by their priority
  • The SEH support for VC8 has been improved
  • The dynamic creation of online commands has been improved
  • The control over the integrity of VM objects has been improved
  • The PREFETCH and PREFETCHW commands are now supported
  • The CompareText and ANSICompareText functions have been added to the script
  • The property Size has been added to the script for the TPEFile class
  • An example with markers used in MinGW has been added
  • The Chinese language has been added (translated by Wang Xiaopeng)
  • Now it is possible to search with the "*" and "?" wildcards in the New Procedure dialog box
  • Information about the size of the output file is now displayed in the compiler messages

New in VMProtect Ultimate 1.54 (Jul 27, 2007)

  • The bug causing an error during the mutation of the PUSH ESP has been fixed
  • The bug causing an error during the virtualization of the FLDCW [ESP xxxx] command has been fixed
  • The bug causing an error during the obfuscation of bytecode has been fixed
  • Improvements in the GUI
  • The German and Spanish languages have been added
  • Scripts are now supported
  • The parameter for specifying the name of the script file has been added in the console version