Рецепты
Практичные, сквозные разборы типичных задач интеграции javascript-obfuscator. Каждый рецепт сфокусирован на том, как сочетать опции для достижения конкретного результата, а не на описании отдельных флагов.
Выберите рецепт, который соответствует вашей задаче. Со временем рецептов будет больше — если вы столкнулись со сценарием интеграции, которого здесь нет, напишите нам, и мы его опишем.
В этом разделе
Лучшие практики
Что стоит защищать, что лучше не трогать и чего обфускация сделать не может.
Получение ключа массива байт-кода с бэкенда
Держите ключ расшифровки байт-кода VM вне клиента: асинхронный геттер запрашивает его у вашего бэкенда при загрузке.
Подстановка значений в шаблон на стороне сервера
Внедряйте значения, отрисованные на сервере, в обфусцированный VM-код с помощью reservedNames и reservedStrings.
Как скрыть имена функций от анализа LLM
Почему обфусцированный VM-код может раскрывать LLM осмысленные имена функций и как обёртка в IIFE устраняет утечку.
Диагностика ошибок выполнения VM
Пошаговый чек-лист для ошибок выполнения VM вроде «Invalid array length», позволяющий отличить неверную настройку целевых функций и self-defending от настоящих багов.
Как избежать конфликтов идентификаторов
Почему сборка нескольких обфусцированных VM-файлов может выдавать «Identifier already declared» на этапе разбора и как это исправить случайными или шестнадцатеричными идентификаторами.
VM-обфускация с eval и new Function
Как VM-обфускация обрабатывает прямой eval и вызовы конструктора Function, что превращается в байт-код, а что пропускается, какие предупреждения выдаёт обфускатор и как диагностировать ReferenceError во время выполнения.
Телеметрия и реакции защиты VM
Отправляйте на свой бэкенд срабатывания защиты VM с помощью vmDefenseHook и настраивайте реакцию на каждую категорию срабатываний через vmDefenseReaction.
