Select the native backend, runtime target and method coverage for a local build. Native protection requires a matching runtime for the platform that runs your application.
Native options take effect when Native VM is enabled. Prebuilt mode uses an existing runtime. Per-build compilation requires a compatible native compiler toolchain.
Native profiles are not supported by the remote Java worker.
nativeVm.enabledEnables native virtualization. Other native settings remain inactive until this is enabled. Remote Java builds do not support native profiles.
Panel default false
nativeVm.backendSelects Legacy, C or C++ virtualization. The C and C++ selections export as vm.c and vm.cpp.
Panel default legacyValues legacy · vm.c · vm.cpp
nativeTargetSets the platform on which the protected application will run. Native runtimes must match this target.
Panel default windows-x86_64
nativeCompileModePrebuilt uses an existing runtime. Per build requires a compatible native compiler toolchain.
Panel default prebuiltValues prebuilt · per-build-minimal
Automatic method selection
booleanautoVmProtectEnables automatic native method selection. Method compatibility checks still apply.
Panel default true
Full native dispatch
booleannativeFullDispatchEnables full dispatch for the selected native backend.
Panel default true
Native control flow
booleannativeControlFlowEnables native control flow transformations independently of Java control flow.
Panel default true
nativeControlFlowLevelSets the native flow level from 0 to 3. Requires Native VM.
Panel default 2Values 0 · 1 · 2 · 3
Per method opcode domains
booleannativeOpcodeRekeyUses per-method opcode domains in supported native virtualization paths.
Panel default true
Polymorphic helpers
booleannativePolymorphicHelpersEnables polymorphic generation of supported native helpers.
Panel default true
Inline static closure
booleannativeVm.inlineStaticClosureIncludes static closure inlining in the native selection process. Review actual coverage in the build report.
Panel default false
vmProtectPublicAllows public methods to be considered for native protection. Test public API compatibility.
Panel default false
vmProtectPrivateAllows private methods to be considered for native protection. Other eligibility checks still apply.
Panel default false
vmAllowObjectAllocationAllows supported object allocation operations during native method selection.
Panel default false
vmAllowConstructorCallsAllows supported constructor calls during native method selection.
Panel default false
vmAllowInstanceFieldsAllows supported instance field operations during native method selection.
Panel default false
nativeVmStringVaultEnables the VM string vault option. This is distinct from Enhanced String Encryption.
Panel default false
Native critical operations
booleannativeCriticalOperationsEnables supported native protection for critical operations.
Panel default false
Require selected coverage
booleanhybridRequireNativeCoverageRequires the selected native coverage policy. The build can fail when that coverage cannot be achieved.
Panel default false
privateFailClosedStops the build when the required private protection cannot be completed.
Panel default true
Randomize runtime names
booleanrandomizeVmRuntimeNamesRandomizes generated VM runtime names. Keep the runtime and classes from the same build together.
Panel default true
nativeOverheadBudgetSets the native overhead budget from 0 to 1000. It is a selection budget, not a runtime performance guarantee.
Panel default 40Range 0–1000
Minimum protected methods
numbernativeRequiredMinMethodsRequires at least the specified number of protected methods. Review the build report for actual coverage.
Panel default 0Range 0–100000