Fixed an error occurred during obfuscation of FDIVR [ESP+XXXX].
Fixed an error occurred during obfuscation of SWITCH in x64 applications.
When using the “Memory protection” option, a file is checked for integrity now.
Ultimate: Better licensing module integration to the protected program.
Added support for files with overlay.
Ultimate: Added an example of C# serial number generator.
Ultimate: License manager now has export of product parameters for a generator on C#.
Ultimate: The console version now has the “-lf” parameter to specify a file with licensing parameters.
Added French help file.
Fixed an error occurred when using import protection in SYS files (base address of hal.dll wasn’t determined under Windows 7).
Fixed an error occurred during obfuscation of command using CRx registers in SYS files.
Fixed small issues.
Improvements in licensing system of the Ultimate version.
French language is added.
An error is fixed in SenseLock Edition occurred when several programs using different licenses on the key run simultaneously (users of SenseLock Edition should update master key firmware).
Fixed EntryPoint disassembly error in Delphi programs.
Fixed small issues.
Important improvements in licensing system of the Ultimate version.
SenseLock Edition now uses the licensing system of the Ultimate version (users of SenseLock Edition should update master key firmware).
Improved detection of strings marked with VMProtectDecryptStringA/VMProtectDecryptStringW.
GUI now supports Unicode.
Traditional Chinese is added.
Fixed small issues in the installer, the license manager and SDK.
VMProtect is registered with its own licensing system now.
Added Chinese Simplified.
Fixed disassembly and virtualization bugs of CALL FWORD PTR [XXXX] and JMP FWORD PTR [XXXX] commands.
An error is fixed in SenseLock Edition occurred when the serial number is asked after the standard PIN of a user has changed.
Fixed an error occurred during virtualization of SWITCH in х64 applications.
Fixed an error occurred while disassembling commands: ROL, ROR, RCL, RCR, SHL, SHR, SAL and SAR, with the REX prefix in х64 applications.
Fixed an error occurred during virtualization of the CMOVxx command.
Fixed small issues.
The help file in Russian is updated.
The help file in English is updated.
Added the licensing system (available only in Ultimate version).
New API are added to the SDK – VMProtectDecryptStringA and VMProtectDecryptStringW.
The script class TVMProcedure now has a new property CompilationOptions.
The script class TVMProcedure now has properties SELicense and SEVersion (available in SenseLock Edition only).
The script class TVMProtector has new properties added: VMSectionName and VMExecutorCount.
The script class TVMProtector has new properties added: SEMasterPassword, SEUserPIN, SEKeyID, SELicense and SEVersion (available in SenseLock Edition only).
The option “Create online commands dynamically” is removed.
Fixed an error occurred during execution of mutated code on Pentium 4 processors.
Fixed an error occurred during execution of virtualized code on some Athlon processors.
Fixed errors occurred during disassembly and virtualization of exception handler structures with an exception filter (for program on Delphi and Borland C++ Builder).
Fixed an error occurred when using several VM in 64-bit files.
Fixed small issues.
Enhanced detection of marker names (for programs on Visual C).
Significantly reduced memory consumption during compilation.
The “HTML” resource is not packed now.
The help file in Russian is updated.
Added wildcard search of procedures in the “Master” mode.
Added new packing mode featuring higher compression rate.
Added support for files with TLS callbacks.
New API is added to the SDK – VMProtectIsValidImageCRC.
Fixed errors occurred during import protection in SYS files.
Fixed errors occurred during memory protection in DLL/SYS files.
Fixed errors occurred when using multiple VM in DLL/SYS-files.
Fixed an error occurred during mutation of the code with exception handlers.
Fixed an error occurred when memory protection and watermarks were used simultaneously.
Fixed small bugs.
Improved detection of references to marked strings (you don’t have to mark every reference to a protected string now).
Improved import protection.
Improved debugger detection.
The help file in Russian is updated.
The GUI version now allows saving project files under different names.
Now you can open project files.
Added Sandboxie detection.
Added support for files compiled with the /SAFESEH key.
Added support for CodeGear 2009.
Now you can have named markers (when VMProtectBegin/VMProtectBeginMutation/VMProtectBeginVirtualization/VMProtectBeginUltra from VMProtectSDKxx.dll/VMProtectDDKxx.sys are used).
New API are added to the SDK (VMProtectIsDebuggerPresent and VMProtectIsVirtualMachinePresent).
A new utility was added to SenseLock Edition – “Remote update and licensing system”.
SenseLock Edition now has key id lock.
Sections with SHAREABLE+WRITABLE flags are not packed now.
Fixed small issues.
Improved import protection for SYS files.
Improved packing of SYS files (packed sections are not flagged with WRITABLE any more).
Improved debugger detection.
Added the “Memory protection” option (this option prevent changes to be made to memory while the application is running).
Added the “Detect virtualization tools (VMware/Virtual PC)” option.
The script class TPEFile now has a property EntryPoint.
Fixed small issues.
Improved import protection.
Improved debugger detection.
Added identification of unpaired markers (unpaired markers are available in the general list of objects).
Added markers to apply a pre-defined compilation type: VMProtectBeginVirtualization, VMProtectBeginMutation and VMProtectBeginUltra.
Added Chinese Traditional language.
Fixed a bug occurred during execution of a packed file, if it had “TYPELIB”, “REGISTRY” and “MUI” resources.
Fixed the R6002 error occurred during execution of a packed file (for programs written on Visual C).
Fixed a bug occurred when the “Import protection” option was used in 64-bit SYS files.
Fixed small issues.
The settings file is now saved to %APPDATA%/PolyTech/VMProtect.
Improved import protection.
Added the option “Virtual machines” (different virtualized fragments of code are executed on different virtual machines with different architecture).
Added the option “Debugger detection” (if a debugger is detected during the protected application execution, the app shows a corresponding message and closes).
The script class TPESection now has a property IncludedInPacking.
Added support for IRETD command.
Added an example of using markers in Lazarus.