Гид по технологиям

Как использовать xxd для просмотра файлов в шестнадцатеричном виде

• 4 min read • Инструменты • Обновлено 19 Nov 2025
Как использовать xxd для шестнадцатеричного дампа
Как использовать xxd для шестнадцатеричного дампа

![/files/3c14fa9e-cd25-49f6-bbe6-1ce799aad2f8.jpg?w=1600&h=900&fit=crop]

В большинстве задач вы не будете работать с отдельными битами или байтами каждый день. Тем не менее, знание инструментов для «дампа» файлов на уровне байтов полезно при отладке, цифровой криминалистике и анализе форматов. Утилита xxd — одна из таких. Она генерирует шестнадцатеричный дамп содержимого файла и умеет восстанавливать бинарные данные из такого дампа.

Что такое шестнадцатеричный дамп

Шестнадцатеричный дамп выводит содержимое файла в виде шестнадцатеричных чисел. В шестнадцатеричной системе используются 16 символов: 0–9 и A–F, где A–F соответствуют значениям 10–15. Один шестнадцатеричный символ кодирует четыре бита, а один байт представляется двумя шестнадцатеричными символами.

Короткое определение: шестнадцатеричный дамп показывает смещение, байты в hex и возможную ASCII-интерпретацию рядом.

Установка и где найти xxd

xxd обычно идёт в составе пакета Vim. На большинстве дистрибутивов его можно установить через пакетный менеджер, например:

  • Debian/Ubuntu: sudo apt install vim-common
  • Fedora/RHEL: sudo dnf install vim-common

Если вы используете минимальные образы, ищите пакет, который содержит утилиту xxd.

Базовое использование xxd

Чтобы запустить xxd, используйте простую форму:

xxd [FILE]

По умолчанию xxd выводит три колонки в каждой строке:

  • смещение (offset) в начале строки, в шестнадцатеричной форме;
  • блок шестнадцатеричных байтов по 16 байт в строке;
  • справа читаемые ASCII-символы для тех байтов, которые печатаемы

Пример типичного вывода (заголовок PNG):

00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
00000010: 0000 0100 0000 0100 0802 0000 007a 3b7a  ..............z;z

В этой записи видно стандартный заголовок PNG: 89 50 4E 47 и часть строки IHDR слева в ASCII.

Полезные опции xxd

  • -p — «plain» вывод, только непрерывные шестнадцатеричные числа без смещений и ASCII. Удобно для передачи в пайп.
  • -r — обратная операция: из шестнадцатеричного дампа в бинарный файл. Позволяет править дамп и собирать файл обратно.
  • -c — количество байт на строку, по умолчанию 16.
  • -g — группировка байтов при выводе, например -g 1 группирует по одному байту.
  • -s — начать дамп с указанного смещения. Можно указывать + или -.
  • -l — вывести только указанное количество байт.

Примеры:

xxd -p image.png | head -c 200    # первые 200 символов в plain hex
xxd -s +64 -l 128 file.bin         # вывести 128 байт, начиная с байта 64
xxd -r dump.hex > restored.bin     # собрать бинарный файл из дампа
xxd -c 8 file.dat                  # по 8 байт в строке

Разбор типичного вывода

Строки начинаются со смещения, затем идут шестнадцатеричные байты, а справа — ASCII-часть. Если байт не печатаемый, вместо него обычно выводится точка. Это помогает быстро найти встроенные строки в бинарниках: тип файла, метаданные, пути и т.д.

Вывод xxd для PNG — шестнадцатеричный дамп с ASCII справа

Наличие читаемых строк в бинарном файле — нормальное явление. Они часто содержат сигнатуры форматов, версии библиотек и имена программ.

Когда xxd не подходит

  • Большие файлы: xxd выводит весь файл в терминал по умолчанию. Для больших бинарников используйте -l/-s или комбинируйте с head/tail.
  • Структурный анализ: xxd показывает сырые байты, но не даёт удобной структуры полей формата. Для анализа сложных форматов лучше использовать инструменты вроде 010 Editor, Kaitai Struct или специализированные парсеры.
  • Интерпретация чисел: xxd не делает автоматическую интерпретацию целых типов в разных эндianness, вам придётся читать байты вручную или применять дополнительные утилиты.

Альтернативные инструменты

  • hexdump — стандартная утилита, часто доступна по умолчанию.
  • hd — простая обёртка над hexdump на некоторых системах.
  • hexedit, bless, biew — интерактивные шестнадцатеричные редакторы с графическим/текстовым интерфейсом.
  • vim -b — открыть файл в бинарном режиме и смотреть/править байты через xxd внутри Vim.

Методология быстрого анализа (mini чек-лист)

  1. Сначала посмотрите первые 64 байта: xxd -l 64 file
  2. Ищите сигнатуры форматов (PNG, PDF, ELF, PKZIP и т.д.)
  3. Если нужно изменить — извлеките нужный участок: xxd -s +offset -l length -p > part.hex
  4. Правьте дамп в текстовом редакторе, затем соберите обратно: xxd -r part.hex > part.bin
  5. Подмените часть файла с осторожностью, создайте резервную копию

Рольовые подсказки:

  • Для разработчика: используйте -c и -g для читаемого вывода при отладке форматов.
  • Для системного администратора: используйте -s/-l, чтобы безопасно просмотреть заголовки без полного дампа.
  • Для аналитика безопасности: ищите строковые подписи и подозрительные плейсхолдеры в ASCII-части.

Небольшой глоссарий

  • Байты: минимальная адресуемая единица хранения, обычно 8 бит.
  • Смещение: позиция байта от начала файла, часто в шестнадцатеричной форме.
  • ASCII-часть: текстовый интерпретируемый вид байтов слева.

Важно: перед изменением бинарного файла всегда делайте резервную копию. Неправильное изменение байта может повредить формат и сделать файл не читаемым.

Краткое резюме

xxd — простой и надёжный инструмент для просмотра и правки содержимого файлов на уровне байтов. Он удобен для быстрого обнаружения сигнатур, встроенных строк и диагностики повреждённых файлов. Для сложного анализа сочетайте xxd с другими инструментами и всегда работайте с копией файла.

Ключевые команды: xxd [FILE], xxd -p, xxd -r, xxd -s, xxd -l

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро