<< Click to Display Table of Contents >> Navigation: Code Virtualizer > SecureEngine Macros > Mutate macro |
The MUTATE macro allows you to mark regions of code that will be mutated. The original x86 machine code will be converted into equivalent but complex x86 machine code. The execution of the MUTATE macro is quite fast compared to VM macros but the level of security is quite low compared with VM macros.
The MUTATE macro is suitable for those code areas that you want to apply some obfuscation and want to keep a high performance in the execution of the mutated code.
NOTE: The current version of SecureEgine® does not support this macro for .NET languages or Visual Basic compiled in PCode mode.
{$I VIRTUALIZER_MUTATE_ONLY_START.inc}
// your code goes here
{$IVIRTUALIZER_MUTATE_ONLY_END.inc} |
VIRTUALIZER_MUTATE_ONLY_START
// your code goes here
VIRTUALIZER_MUTATE_ONLY_END |
Call VarPtr("Mutate_Start")
' your code goes here
Call VarPtr("Mutate_End") |
Remarks
To make sure that you have inserted a MUTATE macro in a right place in your application, you should be aware of the following details:
•Switch statements inside the macro might not work properly in some compiled applications. Notice that Switch statements are named in a different way in different programming languages ("Case" --> Delphi, "Select Case" --> VB, etc).
•Exception handling inside the macro might not work properly. You should avoid putting MUTATE macros around try-except clauses. For Visual Basic, "try-except" clauses corresponds to "On Error" statements.