как редактировать бинарный файл в системах Unix - PullRequest
59 голосов
/ 08 мая 2009

На Windows-машине есть много сторонних редакторов, доступных для редактирования двоичного файла. Я верю, что в системах * nix должно быть что-то похожее на сборку. Любая идея, как я могу редактировать бинарный файл в Unix?

Ответы [ 12 ]

106 голосов
/ 08 мая 2009

В vim Вы можете набрать :%! Xxd , чтобы превратить его в гекседитор. :%! Xxd -r для возврата в обычный режим. xxd поставляется в установке vim.

См. здесь для некоторых замечаний о редактировании двоичных файлов с помощью vim (сводится к : установите двоичный файл , чтобы избежать проблем, используйте только команду "R" или "r" для изменения текст, не удаляйте символы).

Если вы являетесь поклонником Emacs, см. здесь , чтобы узнать, как редактировать двоичный файл с помощью Emacs.

39 голосов
/ 09 мая 2009

Вы также можете попробовать ghex2 утилиты GNOME. Это даст вам автоматический hex-to-ASCII на стороне, а также различные символьные / целочисленные декодирования внизу. ghex2
(источник: googlepages.com )

15 голосов
/ 09 мая 2009

В Linux / Unix гораздо больше гекседиторов ....

Я использую hexedit в Ubuntu

sudo apt-get install hexedit
10 голосов
/ 08 мая 2009

Вы можете проверить Википедия .

Я предпочитаю BIEW особенно.

8 голосов
/ 08 мая 2009

Благослови - это высококачественный, полнофункциональный шестнадцатеричный редактор.

Он написан на mono / Gtk #, и его основной платформой является GNU / Linux. Однако он должен быть в состоянии без проблем работать на всех платформах, которые моно и Gtk # работают. Основные характеристики Благословение в настоящее время предоставляет следующие функции:

  • Эффективное редактирование больших файлов данных и блочных устройств.
  • Многоуровневые операции отмены и восстановления.
  • Настраиваемые представления данных.
  • Быстрая визуализация данных на экране.
  • Несколько вкладок.
  • Операции быстрого поиска и замены.
  • Таблица преобразования данных.
  • Расширенные возможности копирования / вставки.
  • Подсветка совпадений шаблона выбора в файле.
  • Архитектура на основе плагинов.
  • Экспорт данных в текст и HTML (другие с плагинами).
  • Битовые операции с данными.
  • Полное руководство пользователя.

скопировано с http://home.gna.org/bless/

5 голосов
/ 16 августа 2015

Я использовал bvi .

Я разрабатываю hexvi , чтобы преодолеть ограничения :%!xxd и bvi.

hexvi

Особенности

  • vim-подобные сочетания клавиш и команды
  • собирается с определенными смещениями
  • вставка, замена, удаление
  • поиск вещей (регулярные выражения PCRE)
  • все является командой и может быть отображено в hexvirc
  • цветовые схемы
  • поддержка больших файлов
  • поддержка нескольких файлов (через вкладки)
  • Python, поэтому начальный уровень для взлома должен быть ниже, чем у C
  • CLI насквозь

Против

  • по состоянию на март 2016 года, это альфа, поэтому функции отсутствуют, но я работаю над этим:
    • сохранение файла
    • Undo / Redo
    • история команд
    • визуальный отбор
    • справочная страница
  • без автозаполнения

BVI

Особенности

  • vim-подобные сочетания клавиш и команды
  • собирается с определенными смещениями
  • вставка, удаление, замена
  • поиск вещей (текст и шестнадцатеричный код)
  • Undo / Redo
  • CLI насквозь

Против

  • относительно его возможностей vim - к сожалению, он понимает только самые основные вещи и определенно нуждается в большей любви в этом отношении (пример: не понимаю :wq, но понимает :w и :q)
  • нет визуальной поддержки выбора вообще
  • без поддержки вкладок / разделенного экрана
  • часто вылетает
  • нет поддержки больших файлов
  • без истории команд
  • без автозаполнения
3 голосов
/ 08 мая 2009

Мне нравится KHexEdit , который является частью KDE

Его пользовательский интерфейс "в стиле Windows", вероятно, достаточно быстрый для изучения большинством людей (в любом случае, по сравнению с Vim или Emacs :)

2 голосов
/ 29 марта 2016

Как вариант, вы можете использовать radare2 :

> 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.....@.

Подробнее о работе в визуальном режиме вы можете прочитать здесь

2 голосов
/ 20 марта 2011

Я сделал wxHexEditor, он с открытым исходным кодом, написан на библиотеках C ++ / wxWidgets с графическим интерфейсом и может открыть даже ваш диск размером с exabyte!

http://wxhexeditor.sf.net

Просто попробуй.

2 голосов
/ 08 мая 2009

Есть легкий бинарный редактор, проверьте hexedit. http://www.linux.org/apps/AppId_6968.html. Я пытался использовать его для редактирования бинарных файлов ELF как минимум в Linux.

...