Browser Environment
Укажите, по какой схеме отдаётся ваша продакшен-сборка, чтобы защищённый код мог привязать к ней свою целостность.
Опция 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' }
});