VMProtect Features Comparison Chart
The chart below contains the list of features supported by the different editions of VMProtect. Some features can be clicked to get an additional information or explanation. Please decide the edition you need and go to the order page.
|Packing protected files|
|Virtualization tools detection (VMware/Virtual PC)|
|Serial number expiration|
|Free upgrades limitation|
|Locking serial number to hardware identifier|
|Locking protected code to serial number|
|Blocking serial numbers (black list)|
|Web-generators of serial numbers|
|"Expert" mode - an advanced user interface with the full set of features|
|Console version of VMProtect|
The explanation of some terms used above
“Mutation” protection method
Mutation is a replacing the source code instructions with their analog (or a certain instruction sequence), that give 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 stops 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 understand 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.
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 install 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 an 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.
Virtual Files feature allows to bundle files 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 file or dynamic loading library.