как редактировать двоичный файл в системах unix


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

12 56

12 ответов:

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

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

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

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

есть гораздо больше hexeditors на Linux / Unix....

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

sudo apt-get install hexedit

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

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

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

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

  • эффективное редактирование больших файлов данных и блочные устройства.
  • многоуровневые отмена и повтор операций.
  • настраиваемые данные просмотр.
  • быстрое отображение данных на экране.
  • несколько вкладок.
  • быстрый поиск и замена операций.
  • таблица преобразования данных.
  • расширенные возможности копирования / вставки.
  • выделение совпадений шаблонов выбора в файле.
  • плагин-ориентированной архитектуры.
  • экспорт данных в текст и html (другие с плагинами).
  • побитовые операции над данными.
  • комплексный пользователей руководство.

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

я использовал, чтобы использовать БВИ.

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

hexvi

особенности

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

минусы

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

    особенности

    • vim-подобные привязки и команды
    • переход к конкретным смещениям
    • вставка, удаление, замена
    • поиск материала (текст и hex)
    • отмена/повтор
    • CLI через и через

    минусы

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

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

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

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

    Я сделал wxHexEditor, он с открытым исходным кодом, написан с помощью C++/wxWidgets GUI libs и может открыть даже ваш диск размером с эксабайт!

    http://wxhexeditor.sf.net

    просто попробовать.

    Как вариант, вы можете использовать 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.....@.
    

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

    для небольших изменений я использовал hexedit:

    http://rigaux.org/hexedit.html

    простой, но быстрый и полезный.

    У меня был хороший опыт работы с wxHexEditor... просто убедитесь, что если вы hex-редактирование диска вы делаете это через меню

    Devices -> Open Disk Device -> SCSI Disk Drive Partition #_N_