Документация
/
VM-обфускация
/

Выбор конкретных функций

Выбор конкретных функций

Recommended

Для оптимальной производительности применяйте VM-обфускацию только к самому чувствительному коду с помощью vmTargetFunctionsMode.

Смотреть

Obfuscator.io: Targeting Functions in VM Obfuscation (IIFE and Comment Mode)

Смотреть на YouTube

Чтобы применять VM-обфускацию только к отмеченным вами функциям, включите режим комментариев:

JavaScript

Режим комментариев (рекомендуется)

Задайте vmTargetFunctionsMode: 'comment', чтобы VM-обфускация применялась только к функциям, помеченным специальным комментарием. Работает на любом уровне вложенности.

JavaScript

Идеально подходит для защиты проверок лицензии, логики аутентификации или собственных алгоритмов, при этом остальной код сохраняет производительность.

Комментарии /* javascript-obfuscator:vm */ должны сохраниться в коде, который получает обфускатор. Если перед ним запускается компилятор, бандлер или минификатор, настройте его так, чтобы он сохранял эти комментарии. Если комментарий удалён, функция не виртуализируется, а если не сохранилось ни одного маркера, обфускация завершается ошибкой "no functions are marked with the /* javascript-obfuscator:vm */ directive".

Режим root (по умолчанию)

Рассматриваются только функции корневого уровня (при включённом Async Executor - вместо них самые внешние async-функции на любой глубине; списки имён ниже применяются к ним). Используйте vmTargetFunctions, чтобы задать белый список, или vmExcludeFunctions, чтобы исключить функции по имени.

Имена сопоставляются только с объявлениями функций и именованными функциональными выражениями. У функции, присвоенной переменной (const checkAuth = () => {}), нет имени для сопоставления: белый список её пропускает, а чёрный список не исключает. Для таких функций используйте режим комментариев.

JavaScript