Home » Support » User Manual » Introduction » What is VMProtect?

What is VMProtect?

VMProtect is a new generation tool for software protection. VMProtect supports the Delphi, Borland C Builder, Visual C/C++, Visual Basic (native), and Virtual Pascal compilers. At the same time VMProtect contains a built-in disassembler making it possible to work with files based on the EXE, DLL, BPL, OCX, and SYS formats. It is possible to connect a MAP file created by the compiler for quickly selecting parts of code that should be protected. In order to automate application protection operations, VMProtect contains a built-in scripting language. VMProtect completely supports all 32/64-bit Windows operating systems: Windows 95/98/ME, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista and Windows 7.

The main principle of VMProtect is to provide effective protection for the application code against analysis. The most effective method to prevent program crack attempts lies in the maximum complexity of the logic of the internal application protection mechanisms. The main software code protection methods used in VMProtect are virtualization, mutation and a combination of the two when the application code is mutated first and then virtualized.

An advantage of how the VMProtect virtualization method is implemented is that the virtual machine (which is used to execute the virtualized parts of the code) is built into the output code of the protected application. Therefore, there is no need to use any additional libraries or modules to run an application that is protected with VMProtect. VMProtect allows the use of several different virtual machines to protect different parts of the code in one application, which makes it even harder to break protection because the cracker will have to analyze the architecture of several virtual machines.

The mutation method implemented in VMProtect is based on obfuscation when "garbage" instructions, "dead" code, and random conditional jumps are added to the program. In addition, source instructions are mutated and the execution of certain instructions is moved to the stack.

The key feature of VMProtect that makes it stand out from other protectors is protection of different parts of code with different methods: virtualizing part of the code, obfuscating another part, and using the combined protection method for the most critical parts.

Another unique feature of VMProtect is the inclusion of watermarks in the application code. This allows the unambiguous identification of the legal owner of the cracked software copy and the potential to undertake corresponding measures.

VMProtect comes in 4 versions:

  • Demo (a demo version with limited features);
  • Lite (lite version);
  • Professional (basic version);
  • SenseLock Edition (it is possible to lock software to hardware SenseLock keys).

The functional differences of different VMProtect versions can be seen in the table:

Features VMProtect version
Demo Lite Professional SenseLock Edition Ultimate
Protection methods
Mutation +* + + + +
Virtualization +* + + + +
Ultra (mutation + virtualization) +* + + + +
Interface types
"Wizard" mode + + + + +
"Expert" mode + + + +
Command-line version + + + +
Protection options
Memory protection + + + + +
Import protection + + + +
Resource protection + + +
Packing + + + +
Debugger detection +** + + + +
Virtualization tool detection +** + + + +
Service features
Watermarks +*** + + +
Scripting language + + + +
Licensing system + + +
SenseLock key management system +
License manager + +
DLL Box + +

* – It is possible to protect only one procedure in the Demo version.
** – The features are limited in the Demo version.
*** – Only one watermark is available in the Demo version.


SenseLock Edition

VMProtect SenseLock Edition (VMProtect SE) is a joint product of VMProtect Software and Seculab companies. This edition implements all the modern achievements in software piracy protection area:

  • code virtualization
  • packing and encryption of the protected file
  • execution of code inside the SenseLock dongle
  • support of the demo-licenses, limiting number of runs and working time
  • support of the separate licensing of various application features
  • encrypted protocol of the data exchange with the dongle (RSA-1024) leaves no chances to emulate it

VMProtect SE allows you to prevent software piracy without any special knowledge and in no time. We guarantee the highest possible protection level.

As opposed to most of the other protectors that simply encrypt and pack the code using the dongle, VMProtect SE virtualizes the code and lock the virtual machine that runs it to the dongle. That means that the dongle is used all the time the software runs and there is no way to dump the code after decryption, as there is no decryption at all. A special encrypted software-dongle protocol prevents the emulation because of its floating nature.

You may also use a licensing system to limit the number of software runs or its running time.

Using VMProtect and SenseLock dongles together allows you to get the maximum level of protection, that is order of magnitude better than other dongle-based protectors and envelopes. Add the other SenseLock features like driver-less mode and high stability.

Important:
You need a master-dongle to work with VMProtect SE. To obtain a master dongle, please e-mail at info@vmpsoft.com.