Contents

Virtualization Markers


Virtualization markers allow you to manually delineate critical code blocks directly within your source code for protection. DotFix NiceProtect detects these markers and applies virtualization/morphing to the enclosed instructions.

Delphi / Free Pascal:

  {$I protect_start.inc}
  // Critical code to protect
  {$I protect_end.inc}\\n

C / C++:

  #include "niceprotect.h"
  protect_start;
  // Critical code to protect
  protect_end;

Visual Basic 5.0 / 6.0:

  Call VarPtr("$$protect_start$$")
  ' Critical code to protect
  Call VarPtr("$$protect_end$$")

Include files and examples are available in the SDK folder.

DotFix NiceProtect searches and virtualizes markers immediately after you click the "Start" button, without requiring you to enable any additional settings or parameters.

Important Constraints:

  • Do not enclose exception handlers (try/except, try/finally) within markers.
  • Avoid using `switch/case` statements inside markers.
  • Do not jump into the protected block from outside (e.g., using `goto`), as the original code is overwritten with garbage data after virtualization.


 

Copyright © 2001 - 2026, DotFix Software