<< Click to Display Table of Contents >> Navigation: Code Virtualizer > SecureEngine Macros > StrEncrypt macro |
The VIRTUALIZER_STR_ENCRYPT/VIRTUALIZER_STR_ENCRYPTW macro allows you to mark regions of code where all referenced strings inside the region will be encrypted in protection time and decrypted in runtime when required by the target application. The decryption is performed inside the SecureEngine Virtual Machine and the location of the decrypted string is different from the original one in the unprotected application. The original location of the string is destroyed and never used again in the protected application.
If you are using Unicode strings in your application, you have to use the macro VIRTUALIZER_STR_ENCRYPTW which can process Unicode strings.
{$I VirtualizerStrEncrypt_Start.inc}
// your code goes here
{$I VirtualizerStrEncrypt_End.inc} |
VIRTUALIZER_STR_ENCRYPT_START
// your code goes here
VIRTUALIZER_STR_ENCRYPT_END |
Call VarPtr("VirtualizerStrEncryptStart")
' your code goes here
Call VarPtr("VirtualizerStrEncryptEnd") |
Remarks
For further protection you can put a VIRTUALIZER macro around the "STR_ENCRYPT" macro, so all your code area where your strings are used is also virtualized. Example:
VIRTUALIZER_START
VIRTUALIZER_STR_ENCRYPT_START
' your code goes here
VIRTUALIZER_STR_ENCRYPT_END
VIRTUALIZER_END |