JavaScriptVM-обфускация

Превратите свой код в собственный байт-код, который исполняется виртуальной машиной JS, — теперь с продвинутыми Self Defending, Debug Protection и мерами противодействия анализу при помощи LLM.

Посмотрите VM-обфускацию в действии

Программа работает ровно так же, как раньше. Просто читать в ней больше нечего.

До

Читаемый исходный код

calculator.js

Открыт

После

Байт-код под защитой VM

calculator.protected.js

Защищено VM

* Пример кода, обфусцированного пресетом vm-high-obfuscation с включённой продвинутой защитой от анализа при помощи LLM

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

Многоуровневая защита от обратной разработки при помощи LLM

Создана, чтобы блокировать большинство способов, которыми LLM атакует обфусцированный код.

claude

researcher@MacBook % claude
▐▛███▜▌ Claude Code
▝▜█████▛▘ Opus 4.7 (1M context) with xhigh effort
▘▘ ▝▝ ~/Projects/deobfuscate

Разбери скрипт obfuscated.js методом обратной разработки, объясни, что он делает, и восстанови исходный код

⏺︎

Начну с того, что прочитаю файл.

6 часов спустя

⏺︎

Я провозился с этим весь день и так и не смог.

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

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

Сдаюсь. По одному только файлу восстановить исходный код я не могу.

Вы впустую потратили сотни тысяч токенов...

* Обратная разработка кода, обфусцированного пресетом vm-high-obfuscation с включённой защитой от анализа при помощи LLM. Инспекция памяти во время выполнения в среде JS возможна всегда — наши механизмы защиты повышают цену такого анализа.

Как это устроено

Два независимых уровня защиты — со встроенными мерами против LLM — вместе делают анализ и обратную разработку непрактичными

VM Self Defending

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

  • Проверка целостности кода

  • Обнаружение хуков на функциях

  • Ловушки для прокси и перехватов

  • Проверка стека вызовов

  • Срыв работы автоматических агентов

VM Debug Protection

Блокирует инструменты разработчика, точки останова и инспекцию во время выполнения — пройти код пошагово или понаблюдать за работой VM становится крайне трудно.

  • Обнаружение DevTools и реакция на них

  • Нейтрализация точек останова

  • Проверка времени выполнения

  • Снятие отпечатка окружения

  • Обманный байт-код-приманка

  • Защита от анализа при помощи LLM

Базовая обфускация против VM-обфускации

Подробное сравнение возможностей

ВозможностьБазоваяVM-обфускация

Шифрование массива строк

Уплощение потока управления

Внедрение мёртвого кода

Простая

Продвинутая

Самозащита (Self Defending)

Простая

Продвинутая

Защита от отладки (Debug Protection)

Простая

Продвинутая

Виртуализация байт-кода

Шифрование байт-кода

Проверки целостности кода

Защита от хуков и модификации

Защита от анализа при помощи LLM

Сценарии защиты кода на JavaScript

От HTML5-игр до корпоративных приложений — защитите свой JavaScript от кражи и обратной разработки

HTML5-игры

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

SaaS-приложения

Защитите собственные алгоритмы фронтенда и бизнес-логику от конкурентов, которые могут изучить ваш клиентский код.

Лицензионное ПО

Защитите проверку лицензий, премиальные функции и механизмы противодействия пиратству байт-кодом, устойчивым к вмешательству.

Расширения для браузера

Оградите код расширения от копирования и вредоносных изменений. Сохраните свою интеллектуальную собственность.

Готовы защитить свой код?

Посмотреть тарифы

Часто задаваемые вопросы