Skip to content

Unprotected macro

The UNPROTECTED macro marks code that runs only while the application is unprotected. During protection, the code inside the macro is destroyed and skipped. This macro helps prevent the accidental release of an unprotected application.

Delphi Macro Usage

{$I VirtualizerUnprotected_Start.inc}

// your code goes here

{$I VirtualizerUnprotected_End.inc}

C/C++ Macro Usage

VIRTUALIZER_UNPROTECTED_START

// your code goes here

VIRTUALIZER_UNPROTECTED_END

Named Macro Usage

Use VIRTUALIZER_UNPROTECTED_START_NAMED to assign a readable label to an UNPROTECTED block. The label is displayed in the Protection Macros panel and during protection:

VIRTUALIZER_UNPROTECTED_START_NAMED("DevelopmentOnlyCheck")

// code removed during protection goes here

VIRTUALIZER_UNPROTECTED_END

The named start marker uses the normal VIRTUALIZER_UNPROTECTED_END marker. Pass a non-empty, NUL-terminated UTF-8 string containing 1 to 255 bytes, excluding the terminator. Control characters are not accepted. A string literal is recommended so Code Virtualizer can recover the label reliably.