What do you think about VMProtect?
I think it`s very interesting product:
---------------------------------------
VMProtect can process the protected code in different ways depending on the selected compilation type. Let us take each compilation type in detail:
* Mutation. The executed file is modified on the level of processor commands (existing commands are modified, all kinds of garbage commands are added, etc.). This compilation type poorly protects the code it processes against hacking and analyzing and mainly prevents functions being processed from determining with signature analyzers (PEiD+KANAL, IDA+FLIRT, etc.). As a rule, there is no need to protect library functions against hacking and analyzing and it will be enough just to change their signatures for the hacker to be unable to automatically determine what libraries you use in your applications (the level of protection against hacking and analyzing is low, the code execution rate is high).
* Virtualization. Executable code is converted into bytecode executed by the virtual machine. This compilation type should be used for all critical parts of code where the execution rate is also important together with preventing hacking and analyzing (the level of protection against hacking and analyzing is medium, the code execution rate is medium).
* Ultra (mutation + virtualization). The executable code is modified on the level of processor commands and after that it is converted into bytecode executed by the virtual machine. This compilation type should be used for all parts of code where the execution rate is not important (the level of protection against hacking and analyzing is high, the code execution rate is low).
---------------------------------------





