Документация
/
Базовая обфускация
/

Условные комментарии

Условные комментарии

С помощью специальных комментариев можно выборочно отключить обфускацию для отдельных частей кода.

JavaScript

Это удобно, когда в результате нужно оставить читаемыми отдельные блоки конфигурации или строки версий, не отказываясь от обфускации остальной части файла.

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

Что на самом деле пропускает «disable»

Отключённая область пропускает только прямые преобразования узлов внутри неё - обфускацию объявления в том месте, где оно объявлено. Дочерние преобразования по-прежнему применяются, поэтому ссылка внутри отключённого блока на идентификатор, переименованный в месте своего объявления за пределами блока, всё равно будет переименована:

JavaScript

Если имя должно оставаться читаемым везде, где оно встречается, отключить один блок недостаточно: вынесите и его объявление из обфусцируемой области или используйте reservedNames.

При vmObfuscation отключение действует только на функции целиком. Функция внутри отключённой области не виртуализируется. Отключённая область, вложенная в функцию, которая виртуализируется, всё равно компилируется в байт-код вместе с остальным телом этой функции - читаемая форма не сохраняется. Простым в результате остаётся только код, отключённый на корневом уровне (вне любой виртуализируемой функции).