Консольный hex редактор linux

Please recommend a hex editor for shell

Can you recommend a hex editor that can be run from shell? I need to be able to edit not only view the content.

9 Answers 9

This tool is the most commonly available I have found for this type of task (available by default on both latest Ubuntu and macOS). You can remove the ascii readable part on the right if needed using -p and you can revert (change ascii input to binary data) using the -r function. Here are some simple example uses:

Converting to hex with ascii view:

Converting to a hexdump (no ascii view on the right):

Converting from a hexdump back to binary data:

You can get much more complex with this in shell scripts. I have actually used this and «dd» to scan for specific sequences and modify them in a predefined fashion all from a shell script using nothing but bash, dd , and xxd . You actually don’t need dd for this either as you can «seek» to a specific location and write to that location the byte sequence you need. The biggest advantage to this approach is its easily scriptable.

The echo command substitutes newline at the end of the line. To avoid this, you can call the command like this echo -n example | xxd

@Baruch xxd can convert from binary to human-readable hex and back again, so paired with a regular text editor it can actually cover some use cases for a hex editor.

You might be able to use vi/vim as a hex editor too (it can call xxd).

Don’t forget to :set binary ! Otherwise, VIM is likely to corrupt the file by adding a line-end (CR/LF/CRLF) at the end of the file (depending on what you have the format set to ( set ff=[mac/unix/dos] )). This is highly likely to break executables and data binaries. And it does. A lot. Making sure VIM is in binary mode will prevent that from happening.

ncurses based hex editor with diff mode

This is more than just another hex editor: It includes a diff mode, which can be used to easily and conveniently compare two binary files. Since it is based on ncurses and is themeable, it can run on any number of systems and scenarios. With its utilization of search logs, it is possible to track changes in different iterations of files easily.

If you are not familiar with vim or emacs, this one doesn’t seem to have much of a learning curve.

Only downside to dhex imho is it cannot insert/delete bytes. Otherwise it is a very nice console hex editor.

When I run «dhex /path/to/big/file», I get «error opening inputfile /path/to/big/file». I like dhex and use it all the time for normal sized files.

@sondra.kinsey : I just tried a 20GB file on my 8GB RAM machine, and didn’t have a problem. This is on Ubuntu 16.04 64 bit, with dhex 0.68-2build1 (amd64). So it should work.

Читайте также:  Linux sys call table

@mivk, I tried dhex unsuccessfully with a 44GB file using dhex_0.68-2build1_i386 on Ubuntu 17.04 with 3GB RAM. hexedit and wxHexEditor open the same file without complaint.

emacs has a hexl-mode for hex editing.

hexl-mode isn’t suitable for large files or disk partitions, since it loads the whole file into an emacs buffer. It’s great for small files if you’re already comfortable with emacs.

@PeterCordes, for editing a disk, simply dd the region you want to edit into a file and open that in emacs, then dd it back.

@ColeJohnson, we aren’t talking about editing a file; we’re talking about editing an entire raw hard disk.

This one is dead simple to use:

sudo apt-get install hexcurse 

This is the one to beat. All other answers seem like just hex dumps or unnecessary vim acrobatics. Hex editor should have a multiple cursor, one on the hex, and one on the output representation.

I know this is an old question, but I was dissatisfied with all of the answers here. I was looking for a hex editor that allowed for me to create my own binary files (aka insert mode) and could handle very large files.

I came across tweak, which fulfills both of these requirements, as well as the OPs.

  • Tweak supports insert mode (not particularly useful if you’re editing an executable file or a filesystem image, but can be extremely handy in other file formats such as PNG).
  • Cutting, copying and pasting within the file you are editing is extremely efficient. No matter how big the chunk of data you are moving around — even if it’s a 200Mb section of a CD image — Tweak will always perform the operation effectively instantly.
  • Tweak supports lazy loading of the input file: rather than sucking it all into memory straight away, it simply remembers which parts of the editing buffer are copies of which parts of the input file and refers to the file on disk when it needs to. Tweak only has to take significant time when you genuinely need it to read the entire file. The only two operations with this property are searching, and saving the modified version of the file to disk. Everything else is instant.

Hmmm, a program that’s ready to modify the buffer with every mistaken keystroke, and doesn’t instruct the user how (or exit!) to use the program. Yuck! Turns out the «exit» command is the same as emacs. but it didn’t work for me the first time, so I tried everything else I could think of before trying it again. I gave up on emacs decades ago, but remember the most important command: Ctrl-X, Ctrl-C. If you like emacs, you might like tweak , but for me it was awkward. I may try it again if I really need editing. Run man tweak from the terminal for an overview and list of commands.

@Lambart The whole point of tweak’s insert mode is to modify the buffer, so your point isn’t really valid there. Also, you should read the man page before using it anyway. Not doing so and then complaining that it doesn’t tell you how to exit is just lazy.

Читайте также:  Чем открыть skp linux

Источник

Лучшие 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.

    Читайте также:  Find file list linux

    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. Какие шестнадцатеричные редакторы вы используете и почему вы предпочитаете именно этот редактор? Что делает его лучше других?

    Источник

    Краткий обзор ряда консольных hex редакторов

    Ну и на десерт: ещё есть hexdumper под названием hex, ориганал которого был написан в 1983-ем году. И он тоже дампит не только ASCII: http://saahriktu.org/hex/hex.png .

    А где тот, что встроенный в mc?

    О. А вот это действительно полезно, спасибо.

    Ещё бы кто сделал по гуишным HEX-редакторам такой гайд.

    010 Editor — классный, но: проприетарщина, да ещё платный.
    Okteta — прибита гвоздями к KDE, и очень глючит.

    Там всё сложно. mcedit так не умеет, зато умеет mcview, который, вроде как, вообще не редактор, но может: http://saahriktu.org/hex/mcview.png .

    Okteta, кстати, не знает UTF-8, зато прекрасно знает KOI8-R. Реквест на добавление UTF-8 в список кодировок висит в багтрекере уже многие годы.

    Названия hex-редакторов и скриншоты к ним — это очень здорово, но почти бесполезно. Нужно описание фич и ссылки на сайты редакторов.

    Ну и сводная таблица была бы очень полезна.

    Сам я использую biew и xxd+vim.

    p.s. У вас какая-то тяга к зеленому — сайт, аватара, даже две звезды на лоре у вас зеленые.

    Источник

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