Virtualize markers
DotFix NiceProtect supports virtualization markers for morphing and virtualizing 32-bit functions. To utilize these features, please refer to the SDK folder for included files and sample code. In general, the function marking for protection has a look of:
Delphi:
{$I protect_start.inc}
your code;
{$I protect_end.inc}
C++:
#include "niceprotect.h"
protect_start;
your code;
protect_end;
Visual Basic 5.0 / 6.0:
Call VarPtr("$$protect_start$$")
your code
Call VarPtr("$$protect_end$$")
Examples of marker usage can be found in the SDK folder under "Examples".
DotFix NiceProtect searches for and virtualizes markers immediately upon pressing the Start button, without requiring any additional settings or options to be enabled.
Please note that error handlers (try...except...finally blocks, SEH frames, etc.) and switch-case statements cannot be protected using markers. Additionally, markers may not function correctly if your code jumps to the protected area, as virtualized sections are placed in the secure section and the original code is filled with garbage data.