Browser Environment

Pro
v7.9.0+

Укажите, по какой схеме отдаётся ваша продакшен-сборка, чтобы защищённый код мог привязать к ней свою целостность.

Опция browserEnvironment объявляет факты о среде, в которой отдаётся ваша продакшен-сборка, чтобы защищённый код мог привязать себя к ним. Она действует только вместе с vmSelfDefending; сама по себе она ничего не делает.

Это небольшой объект. Сейчас у него одно поле:

browserEnvironment: { transport: 'https' }

transport

Схема, по которой продакшен отдаёт бандл: 'http' или 'https'.

При 'https' копия, которую реверс-инженер раздаёт по обычному HTTP, не будет работать корректно. 'http' или неустановленное поле такой защиты не добавляет.

Поддерживаемые таргеты

browserEnvironment применяется только к таргетам browser, browser-no-eval и service-worker. Для node, userscript и bytenode опция отклоняется — обфускация завершается ошибкой валидации, а не молча отбрасывает настройку.

Требования

  • Включается вместе с vmSelfDefending; иначе не действует.
  • Таргет browser, browser-no-eval или service-worker.
  • Версия обфускатора 7.9.0 или новее.

Пример

JavaScriptObfuscator.obfuscate(code, {
    vmObfuscation: true,
    vmSelfDefending: true,
    target: 'browser',
    browserEnvironment: { transport: 'https' }
});