Fixed an error occurred during emulation of the FILD word ptr [xxxx] command.
Each procedure can be specified a certain compilation type (“Mutation” or “Virtualization”).
In the registered version, the VM interpreter completely changes now (to prevent automatic detection of protection by signature scanners such as PEiD, RDG Packer Detector and others).
Added support for SEH for VC7-8.
Added support for markers in Visual Basic (begin and end of a fragment are marked with the following lines: Call VarPtr(“VMProtect begin”) and Call VarPtr(“VMProtect end”)).
VM interpreter now supports multi-threaded applications (no need to create a procedure to allocate memory for interpreter’s needs).
Added a possibility to insert watermarks to a protected file.
The option to allocate memory for VM interpreter’s neds is removed.
Fixed small issue.
Options “Hide constants”, “Dynamically create online commands”, “Encrypt registers on jumps”, “VM object integrity control” and others are only available for registered users now.
Added the “Master” mode.
The procedure tree now displays links.
Fixed an error occurred during compilation of projects with the “Memory allocation in the interpreter” option enabled.
Fixed small issues.
Added a possibility to check integrity of a bytecode (requires enabling the “VM object integrity control” option on).
Fixed an error occurred during emulation of CMPXCHG8b, if operands are EAX and EDX.
Now interpreter contains only those commands that will be used to execute a bytecode.
Some commands were removed from the basic logic of VM (to complicate analysis and decompiling of a bytecode).
Fixed an error occurred when the Bound Import directory is moved.
Added a possibility to include marked parts of the code to the project(the beginning and the end of the fragment are marked by the following code assembler insertions – “db $EB,$10,’VMProtect begin’,0″ and “db $EB,$0E,’VMProtect end’,0″).
Added an option to include exported functions to the project.
Removed the “Encrypt bytecode” option (bytecode is now always encrypted).
Fixed errors occurred while: emulation of SBB (wrong state of some flags); emulation of CMOVxx, CMPXCHG and CMPXCHG8b (when the second operand was addressed using ESP or a DWORD value).
Added support for SEH in VB6 (native).
Added support for MAP-files generated by IDA.
Added an option for batch adding of procedures.
Added displaying of links to commands directly in the list of procedures.
Added a new option: “Encrypt registers on jumps”.
End of procedure detection process while disassembling of cycles is improved.
For UPX compatibility, Shareable flag of Writeable sections is cleared (if the old relocation table is used for VM needs).