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

Визуализатор энтропии кода

Визуализируйте распределение энтропии Шеннона в коде и бинарных данных с помощью анализа по скользящему окну. Обнаруживайте закодированное, зашифрованное и сжатое содержимое с помощью цветовой тепловой карты. Поддерживаются ввод текста, hex-байтов и загрузка файлов с настраиваемыми размерами окна и порогами. Вся обработка локальна и приватна.

Code Entropy Visualizer

Visualize entropy distribution across code and binary data using sliding window Shannon entropy analysis. High-entropy regions indicate encoded, encrypted, or compressed content. Supports text, hex, and file input with configurable window sizes and thresholds.

Try example:

Paste code, hex bytes, or upload a file to visualize entropy distribution. The tool computes Shannon entropy over 64-byte sliding windows and renders a color heat map. High-entropy regions (yellow, orange, red) indicate encoded, encrypted, or compressed content. All processing is local.

Note: For files larger than ~100 KB, the heat map may render a large number of blocks. Each block represents 64 bytes. Consider using a larger window size for large inputs.

Зачем использовать наш визуализатор энтропии кода?

  • Анализ энтропии по скользящему окну: Вычисляйте энтропию Шеннона с настраиваемыми размерами скользящего окна (16, 32, 64, 128 или 256 байт). Энтропия каждого окна рассчитывается по распределению частот байтов, выявляя области высокой случайности, закодированное содержимое или зашифрованные данные, которые выделяются на фоне кода с низкой энтропией.
  • Визуализация цветовой тепловой картой: Представляйте распределение энтропии цветовой тепловой картой. Области низкой энтропии (структурированный код, текст) отображаются холодными сине-зелёными тонами, а области высокой энтропии (закодированные строки, зашифрованные нагрузки, сжатые данные) — тёплыми жёлто-красными тонами. Визуальный узор сразу выявляет подозрительные области.
  • Автоматическое обнаружение высокой энтропии: Автоматически определяйте и подсвечивайте области высокой энтропии, превышающие настраиваемые пороги. Инструмент помечает блоки с энтропией выше 0,7 (вероятно, закодированные или зашифрованные) и подсвечивает самые аномальные области. Итоговая статистика показывает общую энтропию, распределение блоков и пиковые значения.
  • Многоформатный ввод и приватность: Вставляйте открытый текст, hex-байты или загружайте файл для анализа. Анализатор энтропии работает с любым бинарным или текстовым вводом: исходным кодом, скомпилированными бинарниками, закодированными строками или зашифрованными данными. Вся обработка локальна в вашем браузере, без загрузок на сервер.

Что такое энтропия Шеннона?

**Энтропия Шеннона**, названная в честь Клода Шеннона, измеряет непредсказуемость или случайность последовательности данных. В контексте анализа кода и бинарников значения энтропии варьируются от 0,0 до 1,0, где 0,0 означает полностью предсказуемые данные (все байты одинаковы, например память, заполненная нулями), а 1,0 — идеально случайные данные (каждое из 256 возможных значений байта равновероятно). Структурированный код, написанный человеком, обычно имеет энтропию около 0,4-0,6, строки в кодировке Base64 дают 0,5-0,7, а зашифрованные или сжатые нагрузки приближаются к 0,95-1,0. Эта разница делает энтропию отличным инструментом для выявления закодированных, зашифрованных или обфусцированных областей в бинарниках и коде.

Как работает визуализатор энтропии

  1. Обработка ввода — инструмент принимает текстовый ввод, hex-байты или загруженные файлы. Текст преобразуется в последовательности байтов UTF-8. Hex-ввод разбирается как сырые бинарные байты. Загруженные файлы читаются как бинарные данные для анализа.
  2. Анализ по скользящему окну — поток байтов делится на смежные или перекрывающиеся окна настраиваемого размера (от 16 до 256 байт). Для каждого окна вычисляется энтропия Шеннона: H = -sum(p(i) * log2(p(i))) / log2(256) , где p(i) — вероятность появления значения байта i в окне. Результат нормализуется к 0,0-1,0.
  3. Отрисовка тепловой карты — каждое окно отображается цветным блоком на тепловой карте. Цвета переходят от холодных (сине-зелёный для низкой энтропии 0,0-0,4) через нейтральные (жёлтый для средней энтропии 0,4-0,7) к тёплым (оранжево-красный для высокой энтропии 0,7-1,0). Блоки, превышающие настраиваемые пороги, подсвечиваются предупреждающими индикаторами.
  4. Статистическая сводка — инструмент вычисляет общую энтропию файла, минимальную и максимальную энтропию блоков, распределение энтропии по блокам и перечисляет главные области высокой энтропии с диапазонами смещений байтов и точными значениями энтропии.

Интерпретация значений энтропии

  • 0,0 - 0,3 (очень низкая): Высокоструктурированные данные — повторяющиеся байты, память, заполненная нулями, разреженные массивы или повторяющиеся инструкции машинного кода. Заглушки упаковщиков часто попадают в этот диапазон.
  • 0,3 - 0,5 (низкая — средняя): Типичный открытый код, ASCII-текст, структурированные форматы данных вроде XML или JSON. Здесь находится большая часть читаемого человеком исходного кода и вывода компилятора.
  • 0,5 - 0,7 (средняя — высокая): Закодированные данные, например Base64, Base85 или hex-строки. Также включает сжатый текст и смешанные бинарно-текстовые форматы вроде HTML со встроенными изображениями.
  • 0,7 - 0,9 (высокая): Зашифрованные данные (слабое шифрование), упакованные секции кода, сжатые бинарные потоки или рандомизированные идентификаторы. Часто встречается в упакованных исполняемых файлах и таблицах обфусцированных строк.
  • 0,9 - 1,0 (очень высокая): Сильно зашифрованные данные (AES, RC4), сжатые нагрузки (gzip, deflate) или криптографический ключевой материал. Любой блок, приближающийся к 1,0, следует считать крайне подозрительным при типичном анализе кода.

Приватность и безопасность

Этот инструмент полностью работает в вашем браузере на клиентском JavaScript. Ваш код, hex-ввод, загруженные файлы и результаты анализа энтропии никогда не отправляются на сервер, не хранятся в базах данных и не передаются по сети. Все вычисления по скользящему окну, энтропия Шеннона, отрисовка тепловой карты и статистический анализ выполняются локально на вашем устройстве. Нет вызовов API, аналитического отслеживания, cookie и сбора данных любого рода. Это делает инструмент полностью безопасным для анализа проприетарного кода, образцов вредоносного ПО или конфиденциальных данных.

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

Энтропия кода измеряет случайность или непредсказуемость значений байтов в последовательности данных с помощью теории энтропии Шеннона. Она варьируется от 0,0 (все байты одинаковы) до 1,0 (все 256 значений байтов равновероятны). Структурированный код, написанный человеком, обычно даёт 0,3-0,5, закодированные данные вроде Base64 — 0,5-0,7, а зашифрованные или сжатые нагрузки — 0,7-1,0.

Инструмент делит ваш ввод на окна настраиваемого размера (16, 32, 64, 128 или 256 байт). Для каждого окна он считает частоту каждого значения байта и вычисляет нормализованную энтропию Шеннона. Большие окна дают более плавный профиль, но могут пропустить небольшие области высокой энтропии. Стандартное окно 64 байта балансирует детализацию и шум для большинства задач анализа.

Каждое окно отображается цветным блоком в порядке чтения. Холодные цвета (синий, зелёный) означают низкую энтропию — структурированный код или открытый текст. Жёлтый указывает на среднюю энтропию — закодированные строки. Тёплые цвета (оранжевый, красный) означают высокую энтропию — зашифрованные или сжатые данные. Блоки, превышающие порог высокой энтропии (по умолчанию 0,70), помечаются предупреждающими индикаторами.

Вы можете вставить открытый текст (преобразуется в байты UTF-8), вставить hex-байты (разделённые пробелами или сплошные) или загрузить бинарный файл. Текстовый режим идеален для анализа исходного кода. Hex-режим лучше подходит для скомпилированных бинарников, упакованных исполняемых файлов или сырых зашифрованных данных. Загрузка файлов поддерживает любой бинарный формат.

Вредоносный код часто использует кодирование, шифрование или упаковку, чтобы скрыть содержимое. Визуализация энтропии мгновенно раскрывает такие скрытые области. Упакованные исполняемые файлы показывают заглушку с низкой энтропией, за которой следует нагрузка с очень высокой энтропией. Закодированные строки конфигурации выглядят как островки средней и высокой энтропии. Зашифрованный C2-трафик или встроенные ресурсы дают почти максимальные значения энтропии.

Обычные скомпилированные исполняемые файлы в среднем имеют энтропию 0,4-0,6. Исходный код в открытом тексте обычно 0,4-0,55. Документы HTML, XML и JSON — 0,3-0,5. Упакованные исполняемые файлы часто превышают среднюю энтропию 0,8. Если в вашем вводе есть крупные блоки выше 0,7, вероятно, он содержит закодированные, зашифрованные или сжатые данные.

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

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