Детектор техник обфускации Java
Сканируйте исходный или декомпилированный Java-код, чтобы определить, какой инструмент обфускации использовался. Определяет ProGuard, DashO, Zelix KlassMaster, Allatori и yGuard по соглашениям именования, паттернам шифрования строк, аннотациям и сигнатурам потока управления. Каждое определение включает оценку достоверности, детальный анализ индикаторов и контекст фрагментов кода. Бесплатно, приватно и без регистрации.
Scan Java source or decompiled output to identify the obfuscation tool used. Detects ProGuard, DashO, Zelix KlassMaster, Allatori, and yGuard based on naming conventions, string encryption patterns, annotations, and control flow signatures with confidence scoring.
Paste Java source code (or decompiled output) above and click Detect Obfuscation to identify which obfuscation tool was used. The detector analyzes naming conventions, string encryption patterns, annotations, and control flow signatures to identify ProGuard, DashO, Zelix KlassMaster, Allatori, and yGuard. Try loading an example to see how it works!
Функции
- 5 детекторов основных Java-обфускаторов: Автоматически сканирует ProGuard (однобуквенное именование, внутренние классы a$b), DashO (импорты com.preemptive.*, шифрование массивами целых чисел), Zelix KlassMaster (XOR массивов символов, хешированные идентификаторы), Allatori (имена римскими цифрами, классы с повторяющимися буквами) и yGuard (имена с подчёркиванием, ссылки на map). Каждый детектор использует специализированный поиск по паттернам, настроенный на уникальные сигнатуры обфускатора.
- Оценка достоверности и подробные индикаторы: Каждая детекция включает оценку достоверности от 1 до 5 (низкая - очень высокая) в зависимости от силы и количества индикаторов. Сильные доказательства, такие как явные аннотации обфускатора или совпадающие схемы переименования, получают более высокую оценку. Инструмент перечисляет каждый индикатор с типом, описанием, оценкой силы и соответствующим фрагментом кода.
- Несколько категорий детекции для каждого обфускатора: Каждый детектор проверяет несколько категорий: паттерны переименования классов/методов, техники шифрования строк (массивы символов, массивы целых чисел, XOR), маркеры аннотаций, ссылки на импорты, паттерны потока управления и артефакты метаданных. Такой многосторонний подход обеспечивает точную идентификацию даже при частичных признаках обфускации.
- 100% локально в браузере и приватно: Вся детекция обфускации Java выполняется полностью в вашем браузере. Ваш Java-код, все обнаруженные индикаторы и результаты анализа никогда не покидают устройство. Никаких загрузок на сервер, вызовов API, хранения данных и отслеживания. Полностью безопасно для анализа проприетарных Java-приложений или декомпилированного кода третьих сторон.
Сценарии использования
- Анализ безопасности обфусцированных Java-приложений: Определите, какой инструмент обфускации использовался в Java-приложении, чтобы выстроить стратегию деобфускации. Знание того, применялись ли ProGuard, DashO, Zelix KlassMaster, Allatori или yGuard, помогает исследователям безопасности выбрать правильные инструменты и техники для дальнейшего анализа.
- Анализ вредоносного ПО и бэкдоров: Анализируйте декомпилированные образцы Java-вредоносов, чтобы определить использованную технику обфускации. Многие Java-трояны и бэкдоры используют конкретные обфускаторы для уклонения от детекции. Определение обфускатора помогает командам реагирования на инциденты оценить сложность необходимой деобфускации.
- Реверс-инжиниринг и планирование деобфускации: Прежде чем пытаться деобфусцировать Java-приложение, используйте этот детектор, чтобы понять, с чем вы имеете дело. Каждому обфускатору требуется свой подход - вывод ProGuard легко декомпилируется, тогда как Zelix KlassMaster и DashO требуют более продвинутых техник.
- Аудит кода и анализ интеллектуальной собственности: Во время проверок безопасности Java-поставщиков и сторонних библиотек определяйте, применялись ли коммерческие обфускаторы вроде DashO или Zelix KlassMaster. Это помогает оценить трудозатраты на полный анализ кода и выявить возможные проблемы соответствия лицензиям.
- Обучающий инструмент по техникам обфускации Java: Научитесь распознавать характерные сигнатуры разных инструментов обфускации Java. Поймите, как ProGuard переименовывает классы в однобуквенные, как DashO шифрует строки массивами целых чисел и как Allatori использует имена классов в стиле римских цифр. Каждый пример демонстрирует реальные паттерны обфусцированного кода.
- Оценка рисков сторонних библиотек: При оценке сторонних Java-библиотек в вашей цепочке поставок сканируйте декомпилированное содержимое JAR на признаки обфускации. Сильная обфускация может быть тревожным сигналом, указывающим на вредоносное ПО, украденный код или попытки скрыть злонамеренное поведение в Java-зависимостях.
Часто задаваемые вопросы
Инструмент определяет пять основных Java-обфускаторов: ProGuard, DashO (от PreEmptive Solutions), Zelix KlassMaster, Allatori и yGuard. У каждого обфускатора есть уникальные сигнатуры в декомпилированном коде - ProGuard использует однобуквенные имена, DashO - шифрование массивами целых чисел, Zelix - XOR массивов символов, Allatori - имена римскими цифрами, yGuard - префиксы с подчёркиванием.
Сильные индикаторы, такие как явные аннотации обфускатора, импорты или характерные паттерны именования, дают очень высокую достоверность. Инструмент оценивает каждый обфускатор по шкале достоверности от 1 (низкая) до 5 (очень высокая) в зависимости от количества и качества совпавших индикаторов.
Вставляйте декомпилированный исходный код Java из инструментов вроде CFR, Procyon или JD-GUI. Оригинальный необфусцированный исходный код обычно не запускает никаких детекций. Для лучших результатов вставьте хотя бы один класс с методами и полями.
Нет. Инструмент распознаёт только пять поддерживаемых обфускаторов. Пользовательские или менее известные инструменты не будут определены. Если обфускация не обнаружена, код может быть необфусцирован или использовать другой инструмент обфускации.
У каждого обфускатора свои характеристики. ProGuard использует паттерны внутренних классов a$b, DashO оставляет импорты com.preemptive.*, Allatori использует имена римскими цифрами, Zelix - hex-хешированные идентификаторы с XOR символов, yGuard - префиксы с подчёркиванием. Инструмент проверяет несколько типов индикаторов для каждого обфускатора, чтобы уменьшить ложные срабатывания.
Нет. Инструмент анализирует декомпилированный исходный код Java, а не сырой байткод. Сначала декомпилируйте свой JAR или APK с помощью Java-декомпилятора вроде CFR, затем вставьте декомпилированный исходный код в этот инструмент.
У ProGuard много параметров конфигурации. Если он настроен с -dontobfuscate или пользовательскими правилами -keep, сохраняющими имена, результат может содержать осмысленные имена. Однобуквенное именование по умолчанию - это то, что инструмент определяет в первую очередь.
Да, безусловно. Инструмент работает полностью в вашем браузере. Ваш Java-код, обнаруженные индикаторы и результаты анализа никогда не загружаются на сервер и не передаются по сети. Вся обработка локальна.
Да - на 100% бесплатно, без регистрации, аккаунта и лимитов использования. Анализируйте столько Java-кода, сколько нужно, столько раз, сколько хотите. Инструмент работает полностью в вашем браузере - ваш код никогда не покидает устройство.