VMProtect features matrix

The chart below contains the list of features supported by the different editions of VMProtect.

  SenseLock Edition Lite Professional Ultimate
Protection Methods
Protection Options
Memory protection        
Import protection        
Resource protection        
Protected files compression        
Debugger detection        
Virtualization tools detection (VMware/Virtual PC)        
Serial numbers
License management        
Serial number expiration        
Free upgrades limitation        
Locking serial number to hardware identifier        
Locking protected code to serial number        
Blocking serial numbers (black list)        
Other features
"Expert" mode - an advanced user interface with the full set of features        
Console version        
DLL Box        
SenseLock hardware keys support        

“Mutation” protection method

Mutation (obfuscation) is a replacing of the source code instructions with their analog (or a certain instruction sequence), that gives the same result as the source code. It is the fastest yet simplest way of software protection. Quite useful when you need to hide the signatures of third-party libraries used in your code. For example if hacker knows that you use a well-known SHA-1 implementation, he may attack it, instead of your code. Mutation allows to hide the presence of the library.

“Virtualization” protection method

Virtualization is the process of translating executable code into instructions of a virtual machine with the different architecture, that is unknown to a potential cracker. Virtualized parts of the code are executed by the interpreter (virtual machine) without being converted into native machine code. Generally, the reengineering of virtualized code requires the study of virtual machine architecture first, then it requires the creation of a disassembler that understands that architecture. Both processes are quite time-consuming and stop a great deal of crackers. Each time you protect the application, VMProtect generates a completely different set of virtual machines, so even if a cracker finally understands an architecture of the particular virtual machine, he has to start from the very beginning for the second protected procedure of the same file.

“Ultra” protection method

Ultra combines virtualization and mutation methods to make the protection even better. The protected code is being mutated first and then the result is virtualized.

License Management

You can add the support of serial numbers to your application with minimal efforts. VMProtect provides a robust API that allows to pass a serial number to VMProtect’s internal module and then check its state.

The limitation of free upgrades

This feature allows to limit a customer by, for example, a year of free upgrades. If the customer installs a build released later, his serial number will be rejected. A really good method of encouraging customers to buy paid support service.

Lock code to serial number

This feature allows to prevent the execution of some code by the additional encryption. The key is not present in the protected application and the code can be encrypted only when the serial number is entered. However, even after that, the code is still virtualized, so there is no way to dump it after entering a valid serial number. This is an essential feature for creating demo versions of software.


Watermark is a unique sequence of bytes that can be added to a protected file. It allows the unambiguous identification of the legal owner of the cracked software copy.

DLL Boxing

DLL Box feature allows to bundle DLLs inside the main executable, so your application with its plugins become a single file. This is useful for portable applications or if you want to hide the usage of some dynamic loading library.

You can get the full price list for all versions of VMProtect at order page.