Документация
/
Рецепты
/

Лучшие практики

Лучшие практики

Как применять обфускацию эффективно: что защищать, что оставить как есть и чего обфускация сделать не может.

Рекомендации

  • Обфусцируйте только свой код.

    Не применяйте VM-обфускацию к сторонним скриптам, библиотекам и полифилам. Они уже минифицированы, и обфускация лишь замедлит их.

  • Используйте режим комментариев для точечной защиты.

    Помечайте только чувствительные функции комментарием /* javascript-obfuscator:vm */, а не защищайте всё подряд.

  • Тщательно тестируйте после обфускации.

    Всегда проверяйте обфусцированный код в целевой среде. Некоторые опции могут неочевидно сломать код.

  • Исключайте «горячие» участки из VM-обфускации.

    Используйте vmExcludeFunctions для циклов анимации, рендеринга в реальном времени или часто вызываемого кода.

Важное замечание о безопасности

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

Вместо этого следует:

  • Хранить секреты на своём бэкенд-сервере
  • Использовать переменные окружения на стороне сервера
  • Проксировать вызовы API через бэкенд, чтобы скрыть ключи
  • Использовать краткоживущие токены, выдаваемые вашим сервером

Что стоит защищать?

VM-обфускация идеальна для:

  • Проприетарных алгоритмов и бизнес-логики
  • Кода проверки лицензий (проверки на стороне клиента)
  • Механизмов защиты от вмешательства и проверок целостности
  • Игровой логики и механизмов защиты от читерства
  • Реализации премиальных функций
  • Логики расчёта цен