Перейти к содержимому
Aback Tools Logo

Деобфускатор Dart и восстановитель кода

Автоматически обнаруживайте и обращайте обфускацию Dart. Определяет короткие/минифицированные идентификаторы (a, b, _0xA, _x0x), строки с hex-экранированием (\\xHH), последовательности Unicode-экранирования (\\uXXXX), построение кодовых точек через String.fromCharCodes([...]), строки в кодировке Base64 через base64Decode(), шаблоны манипуляции байтами с XOR-шифром и обфускацию через конкатенацию разбитых строк. Каждое обнаружение содержит оценку достоверности, номера строк исходника и окружающий контекст кода. Бесплатно, конфиденциально и без регистрации.

Dart Deobfuscator & Code Restorer

Detect and reverse Dart obfuscation techniques. Automatically identifies short/minified identifiers, hex-escaped strings, Unicode escape sequences, String.fromCharCodes construction, Base64-encoded strings, XOR cipher patterns, and string concatenation obfuscation with confidence ratings and source context.

Examples:

Paste Dart code above and click Analyze Dart Code to detect obfuscation patterns. The tool identifies short/minified identifiers, hex escapes, Unicode escapes, String.fromCharCodes construction, Base64-encoded strings, XOR cipher patterns, and split-string concatenation. Try loading an example to see how it works!

Возможности

  • 7 детекторов техник обфускации Dart: автоматически обнаруживает короткие/минифицированные идентификаторы (a, b, _0xA, _x0x), строки с hex-экранированием (формат \\xHH), последовательности Unicode-экранирования (\\uXXXX), построение кодовых точек через String.fromCharCodes, строки в кодировке Base64 через base64Decode(), шаблоны манипуляции байтами с XOR-шифром и обфускацию через конкатенацию разбитых строк. Каждый детектор использует специализированное сопоставление шаблонов с учётом особенностей Dart и поддерживает как одинарные, так и двойные кавычки.
  • Показ закодированного значения и декодированного анализа: каждое обнаружение показывает исходное закодированное значение или индикатор обфускации рядом с декодированным результатом или анализом в аккуратном оформлении карточек. Hex-экранирование полностью декодируется в читаемый текст, массивы кодов String.fromCharCodes восстанавливаются в строки, полезные нагрузки Base64 декодируются, а шаблоны конкатенации строк восстанавливаются в полном виде.
  • Аннотированный вид кода с оценкой достоверности: просматривайте код Dart со встроенными аннотациями, отмечающими каждую обнаруженную точку обфускации. Каждое обнаружение получает оценку достоверности от 1 до 5, номера строк исходника и окружающий контекст кода. Аннотированный вид помогает быстро находить и понимать каждую применённую технику обфускации, а карточки индикаторов окрашены по типу обнаружения.
  • 100 % локально в браузере и конфиденциально: вся деобфускация Dart выполняется полностью в вашем браузере. Ваш код Dart, все обнаруженные индикаторы, декодированные значения и результаты анализа никогда не покидают устройство. Без загрузки на сервер, без вызовов API, без хранения данных и без отслеживания. Полностью безопасно для анализа проприетарного или чувствительного исходного кода Dart, включая приложения Flutter.

Сценарии использования

  • Анализ безопасности обфусцированного кода Dart: анализируйте подозрительный исходный код Dart на наличие обфусцированных строк, скрытых конечных точек API и закодированной конфигурации. Вредоносный код Dart часто использует String.fromCharCodes, кодирование Base64 и hex-экранирование, чтобы скрыть URL C2-серверов, ключи API и данные конфигурации от статического анализа и проверки кода.
  • Анализ приложений Flutter методами обратной разработки: извлекайте скрытую конфигурацию, секретные ключи и обфусцированные строки из исходного кода Dart, используемого в приложениях Flutter. Распространённые техники обфускации Dart включают короткие имена переменных, созданные обфускатором Dart, построение строковых литералов через String.fromCharCodes и конкатенацию разбитых строк для обхода обнаружения по ключевым словам.
  • Обратная разработка веб- и серверного кода Dart: понимайте и восстанавливайте код Dart, обфусцированный для защиты в веб- или серверных приложениях. Восстановитель кода определяет и аннотирует короткие имена переменных, декодирует закодированные строки и раскрывает первоначальный смысл обфусцированных числовых констант и конструкций кодов символов.
  • Аудит кода и безопасность пакетов Dart: во время аудита безопасности проектов Dart проверяйте сторонние пакеты и зависимости на индикаторы обфускации. Выявляйте пакеты Dart, использующие закодированные строки, обфускацию кодов символов или обфусцированные идентификаторы - возможные признаки вмешательства или злого умысла в атаках на цепочку поставок Dart и Flutter.
  • Обучающий инструмент по техникам обфускации Dart: узнайте, как работают техники обфускации Dart, на реальных декодированных примерах. Поймите, как String.fromCharCodes, hex-экранирование, кодирование Base64, XOR-шифры и конкатенация строк используются и для законной защиты кода в коммерческих приложениях Flutter, и в злонамеренных целях в анализе вредоносного ПО.
  • Форензика скомпрометированных систем на Dart: при реагировании на инциденты в скомпрометированных системах на базе Dart анализируйте файлы конфигурации, код инициализации и плагины Flutter на наличие скрытых URL обратного подключения, конечных точек эксфильтрации данных или закодированных shell-команд, которые злоумышленники внедряют в исходный код Dart для мобильных и веб-платформ.

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

Инструмент обнаруживает семь распространённых шаблонов обфускации Dart: короткие/минифицированные идентификаторы (однобуквенные имена или имена с подчёркиванием, например a, b, _0xA, _x0x), строки с hex-экранированием (формат \\xHH), последовательности Unicode-экранирования (\\uXXXX), построение массивов кодовых точек через String.fromCharCodes, строки в кодировке Base64 через base64Decode() из dart:convert, шаблоны манипуляции байтами с XOR-шифром в циклах и обфускацию через конкатенацию разбитых строк.

Анализатор ищет вызовы String.fromCharCodes([...]) и извлекает все целочисленные кодовые точки из литерала массива. Он обрабатывает и десятичные целые (72, 101, 108, 108, 111), и шестнадцатеричные литералы (0x48, 0x65, 0x6C, 0x6C, 0x6F). Каждая корректная кодовая точка преобразуется в соответствующий символ Unicode с помощью String.fromCharCode, а декодированная строка отображается рядом с исходным закодированным массивом.

Флаг --obfuscate в Dart переименовывает символы на уровне бинарного файла в короткие имена. Хотя этот инструмент может обнаруживать похожие шаблоны коротких идентификаторов в исходном коде, обфускатор Dart в основном работает со скомпилированными AOT-снимками и kernel-файлами, а не с читаемым исходником Dart. Инструмент наиболее эффективен для анализа обфусцированного исходного кода Dart, а не скомпилированных сборок Flutter.

Шаблоны XOR-шифра, обнаруженные в коде Dart, обычно используют ключ, определённый в другом месте, поэтому расшифровать их без выполнения невозможно. Инструмент обнаруживает структурный шаблон побайтового XOR (манипуляция Uint8List с ^=) и помечает его для ручного исследования. Вы можете выполнить фрагмент XOR в среде Dart, чтобы получить фактическое декодированное значение.

Оценки достоверности варьируются от 1 до 5. Оценка 5 (очень высокая) присваивается, когда массивы кодов у String.fromCharCodes декодируются в читаемый текст или hex-экранирование даёт осмысленные строки. Оценка 4 (высокая) - для успешного декодирования Base64 с читаемым содержимым. Оценка 3 (средняя) - для коротких идентификаторов и конкатенации строк. Оценка 2 (низкая) - для XOR-шаблонов, требующих выполнения.

Нет. Инструмент охватывает самые распространённые шаблоны обфускации Dart, но не справляется со всеми методами. Он не может декодировать строки, построенные через StringBuffer или шаблоны List.generate. Он не может расшифровать данные, зашифрованные dart:crypto, и обработать скомпилированные kernel-файлы Dart. Продвинутая обфускация может потребовать динамического анализа в среде выполнения Dart.

Аннотированный вид кода показывает ваш исходный код Dart с встроенными комментариями в каждой строке, где обнаружена обфускация. Каждая аннотация включает название техники обнаружения и краткое описание, например «Короткий идентификатор» с предложенным осмысленным именем или «Конструкция String.fromCharCodes» с декодированным текстом.

Безусловно. Деобфускатор Dart работает полностью в вашем браузере. Ваш код Dart, все обнаруженные индикаторы, декодированные значения и результаты анализа никогда не загружаются на сервер и не передаются по сети. Вся обработка выполняется локально на вашем устройстве без вызовов API и сбора данных.

Декомпилятор Dart преобразует скомпилированные бинарные файлы Dart обратно в исходный код. Этот инструмент, напротив, анализирует уже читаемый исходный код Dart на наличие намеренных техник обфускации: декодирует скрытые строки, раскрывает обфусцированные идентификаторы и помечает подозрительные шаблоны. Он не восстанавливает исходный код из скомпилированных бинарных файлов.

Да - на 100 % бесплатный, без регистрации, аккаунта и ограничений на использование. Анализируйте столько кода Dart, сколько нужно, сколько угодно раз. Никаких премиум-тарифов, скрытых платежей и ограничений по частоте. Инструмент работает полностью в вашем браузере - ваш код никогда не покидает устройство.