Набор для обнаружения обфускации
Загрузите файл или вставьте код, чтобы проверить его на 17 техник обфускации на разных языках. Обнаруживает упаковку, кодирование строк, использование eval, выравнивание потока управления, вставку мёртвого кода, переименование переменных и антианализ. Каждое обнаружение включает оценку уверенности, фрагменты доказательств и практические рекомендации по деобфускации. Вся обработка локальна и приватна.
Upload a file or paste code to scan for 17 obfuscation techniques across multiple languages. The toolkit detects packing, string encoding, eval usage, control flow flattening, dead code injection, renaming, anti-analysis, and more. Each detected technique includes confidence scoring, evidence snippets, and actionable recommendations. All processing is local and private.
Paste source code or upload a file to scan for obfuscation techniques. The toolkit analyzes your code across 17 detection categories including packing, encoding, control flow flattening, dead code injection, variable renaming, and anti-analysis techniques. Each detection includes confidence scoring and actionable recommendations. All processing is local and private.
Зачем использовать наш набор для обнаружения обфускации?
- 17 категорий обнаружения техник: Проверяйте код по 17 всесторонним категориям, включая обнаружение eval, распознавание Dean Edwards Packer, кодирование hex/Unicode/Base64, замену строк через массивы, вставку мёртвого кода, непрозрачные предикаты, выравнивание потока управления, конкатенацию строк, обфускацию чисел, переименование переменных, самозащитный код/защиту от изменений, привязку к домену, доступ к вычисляемым свойствам, многослойное кодирование и XOR-шифрование. Каждая техника включает подробные шаблоны совпадений, адаптированные под несколько языков программирования.
- Поддержка многих языков и форматов: Автоматически определяет язык программирования (JavaScript, Python, PHP, Ruby, Java, C#, PowerShell) и тип файла (PHP, XML, HTML, JSON, YAML, Terraform) по содержимому кода. Сопоставление шаблонов адаптируется к обфускационным идиомам конкретного языка, обеспечивая точное обнаружение при анализе веб-скриптов, вывода компилируемых языков или конфигурационных файлов. Всё сопоставление настроено под уникальные шаблоны обфускации каждого языка.
- Оценка уверенности и классификация серьёзности: Каждое обнаружение включает оценку уверенности 0-100 % на основе плотности доказательств и качества совпадения. Техники классифицируются по серьёзности (информация, предупреждение, критический уровень), чтобы помочь расставить приоритеты исправления. Общая оценка обфускации (0-100) и итоговый уровень (Нет → Экстремальная) дают мгновенную оценку состояния защиты кода с подробной разбивкой по категориям техник.
- Практические доказательства и рекомендации: Каждая обнаруженная техника включает фрагменты совпавшего кода, показывающие, где именно найдена обфускация, а также практические рекомендации по деобфускации. Доказательства извлекаются из контекста вокруг совпадений, показывая окружающую структуру кода. Рекомендации ссылаются на конкретные инструменты и техники деобфускации для каждого обнаруженного шаблона, обеспечивая понятный путь исправления.
Что такое обфускация кода?
Обфускация кода — это намеренная практика преобразования исходного или двоичного кода в форму, функционально идентичную, но трудную для чтения, понимания или реверс-инжиниринга человеком. Техники обфускации варьируются от простого переименования переменных (замена осмысленных имён вроде calculateTotal на a или _0x1234 ) до сложных преобразований потока управления, перестраивающих всю логику программы. Хотя существуют законные применения (защита интеллектуальной собственности, предотвращение изменений), обфускация также часто используется авторами вредоносного ПО для ухода от обнаружения средствами безопасности и аналитиками. Набор для обнаружения обфускации выявляет 17 различных техник в восьми категориях.
Как работает движок обнаружения
- Определение языка — Движок сначала анализирует код, чтобы определить язык программирования (JavaScript, Python, PHP, Ruby, Java, C#, PowerShell) и тип файла (PHP, XML, HTML, JSON, YAML). Определение языка позволяет применять специфичные для языка шаблоны для более точных результатов.
- Сканирование по шаблонам — Код проверяется по 17 определениям техник, каждое из которых содержит несколько regex-шаблонов. Эти шаблоны рассчитаны на обнаружение конкретных сигнатур обфускации: вызовов eval с длинными аргументами, escape-последовательностей hex/Unicode, вызовов API Base64, формата Dean Edwards Packer, шаблонов переименования переменных и индикаторов антианализа.
- Сбор контекстных доказательств — Помимо простого сопоставления шаблонов, движок собирает контекстные доказательства, изучая структуру кода вокруг совпадений. Например, обнаружение eval собирает окружающие строки кода, обнаружение hex-кодирования считает общую плотность escape-последовательностей, а анализ переименования переменных ищет короткие объявления переменных с высокой плотностью по всему коду.
- Оценка уверенности и классификация — Каждая обнаруженная техника получает оценку уверенности 0-100 % на основе количества доказательств и качества совпадения. Техники классифицируются по серьёзности (информация, предупреждение, критический уровень) в зависимости от влияния на обфускацию. Общая оценка нормализуется к 0-100 и сопоставляется с пятью уровнями (Нет, Минимальная, Умеренная, Сильная, Экстремальная).
Типичные категории обфускации
- Упаковка: Сжимает и кодирует всю полезную нагрузку кода в меньший формат, который декодируется во время выполнения. Dean Edwards Packer — самый известный пример. Упакованный код обычно на 30-70 % меньше оригинала, но полностью нечитаем без распаковки.
- Кодирование: Преобразует строковые литералы и данные в закодированные представления (hex, Unicode, Base64, Base85), которые декодируются во время выполнения. Многослойное кодирование применяет несколько проходов кодирования, требуя итеративного декодирования для раскрытия исходного содержимого.
- Поток управления: Реструктурирует поток программы с помощью таких техник, как динамическое выполнение на основе eval, непрозрачные предикаты (всегда истинные или всегда ложные условия) и выравнивание потока управления (преобразование всех ветвлений в диспетчер на основе switch).
- Обфускация строк: Скрывает строковые литералы с помощью замены через массивы (строки хранятся в массивах поиска с доступом по индексу), разделения и конкатенации (строки разбиты на фрагменты) и доступа к вычисляемым свойствам (запись в скобках с закодированными ключами).
- Антианализ: Обнаруживает и реагирует на отладочные инструменты, изменение кода или неожиданные среды выполнения. Включает самозащитный код, меняющий поведение при обнаружении вмешательства, и привязку к домену, ограничивающую выполнение определёнными именами хостов.
Приватность и безопасность
Этот инструмент полностью работает в вашем браузере на клиентском JavaScript. Ваш код, загруженные файлы и результаты сканирования никогда не отправляются на сервер, не хранятся в базах данных и не передаются по сети. Все вычисления движка обнаружения, сопоставление шаблонов, оценка уверенности и формирование отчёта выполняются локально на вашем устройстве. Нет вызовов API, аналитического отслеживания, cookie и сбора данных любого рода. Это делает инструмент полностью безопасным для анализа проприетарного кода, образцов вредоносного ПО или конфиденциальных данных исследований безопасности.
Часто задаваемые вопросы
Набор для обнаружения обфускации выявляет 17 техник в 8 категориях: упаковка (Dean Edwards Packer), кодирование (hex, Unicode, Base64, XOR, многослойное/вложенное), поток управления (eval/динамическое выполнение, непрозрачные предикаты, выравнивание потока управления), вставка мёртвого кода, обфускация строк (замена через массивы, разделение/конкатенация строк, доступ к вычисляемым свойствам), переименование (минификация имён переменных), антианализ (самозащитный код/защита от изменений, привязка к домену/проверки окружения) и другие шаблоны.
Набор автоматически определяет JavaScript, Python, PHP, Ruby, Java, C# и PowerShell. Определение языка позволяет применять шаблоны, специфичные для языка, для более точных результатов. Общие шаблоны обнаружения работают во всех языках.
Общая оценка (0-100) рассчитывается по количеству и серьёзности обнаруженных техник. Критические техники дают до 30 баллов, предупреждающие — до 15, информационные — до 5, каждая с учётом уверенности. Оценка соответствует уровням: Нет (0), Минимальная (1-19), Умеренная (20-44), Сильная (45-69), Экстремальная (70+).
Простые шаблоны, такие как вызовы eval, hex/Unicode-escape и вызовы API Base64, имеют высокую точность. Сложные шаблоны могут иногда давать ложные срабатывания в легитимном коде. Каждое обнаружение включает оценку уверенности (0-100 %), чтобы вы могли приоритизировать находки с высокой уверенностью.
Да — нажмите «Загрузить файл», чтобы перейти в файловый режим. Поддерживаются файлы .js, .ts, .py, .php, .rb, .java, .cs, .ps1, .html, .json, .xml и .txt. Файлы читаются целиком в вашем браузере и никогда не загружаются на сервер.
Минификация уменьшает размер кода, удаляя пробелы и сокращая имена переменных, сохраняя понятную структуру. Обфускация намеренно делает код труднее для понимания с помощью кодирования, шифрования и реструктуризации потока управления. Этот набор нацелен на обнаружение настоящей обфускации, а не стандартной минификации.
Значения выше 80 % указывают на сильные однозначные совпадения. Значения от 50 до 80 % указывают на умеренные доказательства с возможными ложными срабатываниями. Значения ниже 50 % указывают на слабые доказательства, требующие ручной проверки. Для техник критической серьёзности даже умеренная уверенность заслуживает проверки.
Безусловно. Набор работает полностью в вашем браузере на клиентском JavaScript. Ваш код, загруженные файлы и результаты сканирования никогда не отправляются на сервер. Все вычисления выполняются локально на вашем устройстве без сбора данных.
Да — 100 % бесплатно, без регистрации, аккаунта и ограничений на использование. Сканируйте столько образцов кода, сколько нужно, без премиум-тарифов и скрытых платежей.