Редактор бинарных файлов linux

How to edit a binary file on Unix systems [closed]

Closed. This question is seeking recommendations for books, tools, software libraries, and more. It does not meet Stack Overflow guidelines. It is not currently accepting answers.

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

On Windows machines there are lots of third-party editors available to edit a binary file. How can I edit a binary file on a Unix system?

@JanusTroelsen that question is about v7 unix from the 70s 🙂 On AskUbuntu (GUI only. ) stackoverflow.com/questions/839227/…

12 Answers 12

In Vim, you can type :%!xxd to turn it into a hex editor. :%!xxd -r to go back to normal mode. xxd is shipped in a Vim installation.

See here for some remarks about editing binary files with Vim (it boils down to :set binary to avoid trouble. Use only the «R» or «r» command to change text, and don’t delete characters).

If you are an Emacs fan, see here for a guide on how to edit a binary file with Emacs.

Yes, this works, but it is more difficult to use because you need to work at keeping the xxd text formatted properly, and the ASCII decode on the side isn’t automatic.

More difficult than what? I’d like to remind that the question was about hexeditors shipped with *nix. Console users don’t have much choice.

@ShannonNelson I agree. Also have a look at bvi, sudo apt-get install bvi , which is ncurses and uses vim-like shortcuts.

In particular, you can’t add or remove bytes from the middle easily: stackoverflow.com/questions/27086771/…

I see this trick recommended all over the place and it makes me sad. You can’t search for anything that happens to span two or more visual lines, you can’t easily go to specific offset, the editing is inferior (can’t input floats for example), can’t delete or insert new bytes without screwing everything up. what can you do besides flipping bytes?

You can also try GHex 2 GNOME utilities. This give you the automated hex-to-ASCII on the side, as well as the various character/integer decodes at the bottom.

ghex2

I don’t know what all is on HPux, but since it is open source software you could probably find the source, compile and install it yourself.

I would have loved it if copy-paste would have working. I am using ghex v2.5 and it only paste one byte at a time. is there a way to bulk copy paste ??

Читайте также:  Virtual machine manager linux настройка

There are many more hex editors on Linux/Unix.

sudo apt-get install hexedit 

It is written in mono/Gtk# and its primary platform is GNU/Linux. However it should be able to run without problems on every platform that mono and Gtk# run. Main Features Bless currently provides the following features:

  • Efficient editing of large data files and block devices.
  • Multilevel undo — redo operations.
  • Customizable data views.
  • Fast data rendering on screen.
  • Multiple tabs.
  • Fast find and replace operations.
  • A data conversion table.
  • Advanced copy/paste capabilities.
  • Highlighting of selection pattern matches in the file.
  • Plugin based architecture.
  • Export of data to text and html (others with plugins).
  • Bitwise operations on data.
  • A comprehensive user manual.

I am developing hexvi to overcome :%!xxd and bvi ‘s limitations.

hexvi

  • vim-like keybindings and commands
  • going to specific offsets
  • inserting, replacing, deleting
  • searching for stuff (PCRE regexes)
  • everything is a command, and can be mapped in hexvirc
  • color schemes
  • support for large files
  • support for multiple files (via tabs)
  • Python so the entry level to hack around should be lower than C’s
  • CLI through and through
  • as of March 2016, it’s alpha so features are missing, but I’m working on those:
    • file saving
    • undo/redo
    • command history
    • visual selection
    • man page

    bvi

    • vim-like keybindings and commands
    • going to specific offsets
    • inserting, deleting, replacing
    • searching for stuff (text and hex)
    • undo/redo
    • CLI through and through
    • regarding its vim capabilities — unfortunately, it understands only the most basic things and definitely needs more love in this regard (example: doesn’t understand :wq , but understands :w and :q )
    • no visual selection support whatsoever
    • no tab/split screen support
    • crashes often
    • no support for large files
    • no command history
    • no autocomplete
    > r2 -w /usr/bin/ls [0x004049d0]>V [0x004049d0 14% 1104 (0x0:-1=1)]> x @ entry0 - offset - | 0 1 2 3 4 5 6 7 8 9 A B C D E F| 0123456789ABCDEF 0x004049d0 |31ed 4989 d15e 4889 e248 83e4 f050 5449| 1.I..^H..H. PTI 0x004049e0 |c7c0 103a 4100 48c7 c1a0 3941 0048 c7c7| . A.H. 9A.H.. 0x004049f0 |202a 4000 e877 dcff fff4 660f 1f44 0000| *@..w. f..D.. 0x00404a00 |b807 e661 0055 482d 00e6 6100 4883 f80e| . a.UH-..a.H. 0x00404a10 |4889 e576 1bb8 0000 0000 4885 c074 115d| H..v. H..t.] 0x00404a20 |bf00 e661 00ff e066 0f1f 8400 0000 0000| . a. f. 0x00404a30 |5dc3 0f1f 4000 662e 0f1f 8400 0000 0000| ]. @.f. 0x00404a40 |be00 e661 0055 4881 ee00 e661 0048 c1fe| . a.UH. a.H.. 0x00404a50 |0348 89e5 4889 f048 c1e8 3f48 01c6 48d1| .H..H..H. H..H. 0x00404a60 |fe74 15b8 0000 0000 4885 c074 0b5d bf00| .t. H..t.].. 0x00404a70 |e661 00ff e00f 1f00 5dc3 660f 1f44 0000| .a. ].f..D.. 0x00404a80 |803d c19b 2100 0075 1155 4889 e5e8 6eff| .=. u.UH. n. 0x00404a90 |ffff 5dc6 05ae 9b21 0001 f3c3 0f1f 4000| ..]. @. 0x00404aa0 |bf10 de61 0048 833f 0075 05eb 930f 1f00| . a.H. u. 0x00404ab0 |b800 0000 0048 85c0 74f1 5548 89e5 ffd0| . H..t.UH. 0x00404ac0 |5de9 7aff ffff 662e 0f1f 8400 0000 0000| ].z. f. 0x00404ad0 |488b 0731 d248 f7f6 4889 d0c3 0f1f 4000| H..1.H..H. @. 

    For details about how work in visual mode you can read here

    Its «Windows style» UI is probably quite quick to learn for most people (compared to Vim or Emacs anyway).

    Источник

    Лучшие HEX – редакторы для Linux

    img

    В этой статье мы рассмотрим топ лучших шестнадцатеричных редакторов для Linux. Но прежде чем мы начнем, давайте посмотрим на то, что на самом деле является hex-редактором.

    Hex-editor

    Про Linux за 5 минут

  • Что такое Hex-редактор

    Hex-редактор, или проще говоря, шестнадцатеричный редактор позволяет вам просматривать и редактировать двоичные файлы. Разница между обычным текстовым редактором и шестнадцатеричным редактором заключается в том, что обычный редактор представляет логическое содержимое файла, тогда как шестнадцатеричный редактор представляет физическое содержимое файла.

    Кто использует Hex-редакторы

    Шестнадцатеричные редакторы используются для редактирования отдельных байтов данных и в основном используются программистами или системными администраторами. Некоторые из наиболее распространенных случаев — это отладка или обратная инженерия (reverse engineering) двоичных протоколов связи. Конечно, есть много других вещей, которые вы можете использовать в шестнадцатеричных редакторах — например, просмотр файлов с неизвестным форматом файла, выполнение шестнадцатеричного сравнения, просмотр дампа памяти программы и другое. Большинство из упомянутых шестнадцатеричных редакторов доступны для установки из репозитория по умолчанию с помощью диспетчера пакетов вашего дистрибутива, например:

    # yum install package [На CentOS] # dnf install package [На Fedora] # apt install package [На Debian/Ubuntu] # zypper install package [На OpenSuse] # pacman -Ss package [На Arch Linux]

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

    Xxd Hex Editor

    Xxd Hex Editor

    Большинство (если не все) дистрибутивов Linux поставляются с редактором, который позволяет выполнять шестнадцатеричные и двоичные манипуляции. Одним из таких инструментов является инструмент командной строки — xxd, наиболее часто используемый для создания шестнадцатеричного дампа данного файла или стандартного ввода. Он также может конвертировать шестнадцатеричный дамп обратно в исходную двоичную форму.

    Hexedit Hex Editor

    Hexedit

    Hexedit — это еще один шестнадцатеричный редактор командной строки, который уже может быть предварительно установлен в вашей ОС. Hexedit показывает и шестнадцатеричное и ASCII представление файла одновременно.

    Hexyl Hex Editor

    Hexyl Hex Editor

    Другой полезный инструмент для проверки двоичного файла — это hexyl, простой просмотрщик шестнадцатеричных данных для терминала Linux, который использует цветной вывод для определения различных категорий байтов. Его вид разделен на три колонки:

    • Смещенный столбец, указывающий количество байтов в файле.
    • Шестнадцатеричный столбец, который содержит шестнадцатеричное представление файла.
    • Текстовое представление файла.

    Установка этого шестнадцатеричного вьюера различна для разных операционных систем, поэтому рекомендуется проверить файл read-me в проекте, чтобы увидеть точные инструкции по установке для вашей ОС. Ссылка на GitHub.

    Ghex — GNOME Hex Editor

    Ghex — это графический шестнадцатеричный редактор, который позволяет пользователям редактировать двоичный файл как в шестнадцатеричном, так и в ASCII формате. Он имеет многоуровневый механизм отмены и повтора, который некоторые могут найти полезным. Еще одна полезная функция — функции поиска и замены, а также преобразование двоичных, восьмеричных, десятичных и шестнадцатеричных значений.

    Ghex

    Bless Hex Editor

    Одним из наиболее продвинутых шестнадцатеричных редакторов в этой статье является Bless, похожий на Ghex, он имеет графический интерфейс, который позволяет редактировать большие файлы данных с многоуровневым механизмом отмены/повторения. Он также имеет настраиваемые представления данных, функцию поиска-замены и многопоточные операции поиска и сохранения. Несколько файлов могут быть открыты одновременно с помощью вкладок. Функциональность также может быть расширена с помощью плагинов. Ссылка на GitHub.

    Bless Hex Editor

    Okteta Editor

    Okteta — еще один простой редактор для просмотра файлов необработанных данных. Некоторые из основных особенностей октета включают в себя:

    • Различные представления символов — традиционные в столбцах или в строках со значением верха символа.
    • Редактирование аналогично текстовому редактору.
    • Различные профили для просмотра данных.
    • Несколько открытых файлов.
    • Удаленные файлы по FTP или HTTP.

    Okteta Editor

    wxHexEditor

    wxHexEditor — еще один из шестнадцатеричных редакторов Linux, обладающий некоторыми расширенными функциями.

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

    wxHexEditor

    Hexcurse — Conx Hex Editor

    Hexcurse — это шестнадцатеричный редактор на основе ncurses. Он может открывать, редактировать и сохранять файлы в дружественном терминальном интерфейсе, который позволяет перейти к определенной строке или выполнить поиск. Вы можете легко переключаться между шестнадцатеричными или десятичными адресами, или переключаться между шестнадцатеричными и ASCII-окнами.

    Hexcurse

    Hexer Binary Editor

    Hexer — еще один бинарный редактор командной строки. Его отличительная особенность заключается в том, что это Vi-подобный редактор стилей для бинарных файлов. Некоторые из наиболее заметных особенностей — много буферов, многоуровневая отмена, редактирование командной строки с завершением и двоичное регулярное выражение.

    Hexer Binary Editor

    Emacs

    Emacs является альтернативой текстовому редактору Vim и предоставляет функции редактирования в шестнадцатеричном формате. Простота и удобное переключение между режимами являются важнейшими особенностями Emacs

    Emacs

    Заключение

    Это был краткий обзор некоторых наиболее часто используемых шестнадцатеричных редакторов в Linux. Какие шестнадцатеричные редакторы вы используете и почему вы предпочитаете именно этот редактор? Что делает его лучше других?

    Источник

Оцените статью
Adblock
detector