Просмотр hex

Откройте локальный файл как hex и ASCII/UTF-8, перейдите к смещению, найдите байты и посмотрите энтропию блоков.

Введённые данные и файлы остаются в браузере

Перетащите файл сюда

Перетащите файл сюда

Любой локальный файл. Он остаётся на этом устройстве.

Видимые строки читаются небольшими срезами. Поиск и энтропия считаются в Web Worker. Содержимое файла никуда не отправляется и не сохраняется.

Hex-дамп

Выберите файл, чтобы увидеть виртуальный hex-дамп, совпадения поиска и энтропию блоков.

На этой странице

Просмотр hex открывает любой локальный файл как виртуальный hex-дамп. В строке 16 байт: hex, ASCII и UTF-8. Читаются только строки на экране, поэтому большой файл не превращается в одну длинную страницу.

Подробное описание функциональности

Файл остаётся на этом устройстве. Первые 512 байт проверяются на известную сигнатуру (PNG, JPEG, GIF, WebP, PDF, ZIP, gzip, ELF, PE, MP3, MP4 и другие типы, которые сайт уже узнаёт). Если сигнатуры нет, проба UTF-8 помечает файл как текст или оставляет его неизвестным двоичным.

Поиск принимает текст или hex (89 50 4e 47 или 0x89504e47). Сканирование читает по 1 МиБ, перекрывает образец, чтобы совпадение могло пересечь границу куска, и останавливается после 200 попаданий. Сканирование можно отменить. Энтропия считается блоками по 4 КиБ. Файлы до 1 МиБ покрываются целиком; у больших берутся 256 равномерных проб. График оценивает случайность, а не хранит гистограмму каждого байта многогигабайтного файла.

Экспорт скачивает включительный диапазон байтов как срез исходного файла, до 256 МиБ, без второй копии всего файла в странице. Байты не редактируются, дизассемблера нет.

Практические примеры

Сигнатура PNG: файл, который начинается с 89 50 4E 47, помечается как PNG. Первые байты видны над таблицей, колонка смещения начинается с 00000000.

Переход: введите 0x20 или 32 и нажмите «Перейти». Виртуальная таблица прокрутится к строке с этим байтом.

Поиск текстом или hex: ищите Hello как текст или 48 65 6c 6c 6f как hex. Каждое совпадение — смещение, по которому можно перейти. На однообразных данных поиск останавливается на 200 совпадениях.

Экспорт диапазона: первый байт 0 и последний 15 скачивают эти 16 байт. В имени файла есть hex-диапазон.

Как использовать этот инструмент

  1. Откройте локальный файл

    Перетащите или выберите любой файл. Пустой файл отклоняется. Чтение заголовка проверяет первые байты и показывает размер, распознанный тип и число строк.

  2. Двигайтесь по дампу

    Прокрутите виртуальную таблицу или введите десятичное смещение либо 0x. В строке 16 байт: hex, ASCII (точка вместо непечатаемого байта) и UTF-8 (разорванный символ — точка).

  3. Найдите байты или посчитайте энтропию

    Ищите текст или hex. Отмена оставляет файл открытым. Энтропия рисует столбец на каждый блок 4 КиБ или 256 проб, если файл больше 1 МиБ. Нажмите столбец, чтобы перейти к блоку.

  4. Экспортируйте диапазон

    Введите первый и последний байт включительно. Скачивание берёт срез не больше 256 МиБ. Остальной файл в загрузку не копируется.

Советы и лучшие практики

  • Таблица читает только видимое окно срезами файла. Переход к концу большого файла не загружает середину.
  • В hex-образце должно быть чётное число цифр. Пробелы, двоеточия и дефисы отбрасываются, один ведущий 0x допустим.
  • Перекрытие поиска сохраняет совпадение, которое начинается в одном куске 1 МиБ и заканчивается в следующем. Дважды оно не попадает в список.
  • Энтропия блока из одинаковых байтов равна 0. Равномерная смесь всех 256 значений — 8 бит/байт.
  • Больше 200 совпадений останавливают сканирование раньше. Сузьте образец, если нужно более позднее попадание.
  • Эта страница не правит байты, не сохраняет проект и не отправляет файл.

Помогите выбрать следующий шаг

Что улучшить дальше?

Выберите одно предложение. Это идеи, а не обещанные функции.

Выберите один вариант

Отправляется только выбранный вариант как анонимный счётчик. В голосе нет введённых данных, сведений о файлах, URL, cookie или идентификатора; он не сохраняется в браузере. После перезагрузки страницы можно проголосовать снова.