如何在unix系统上编辑二进制文件

时间:2009-05-08 10:33:49

标签: linux unix binaryfiles hex-editors

在Windows机器上,有许多第三方编辑器可用于编辑二进制文件。 我相信在* nix系统中应该有一些similer buildin。 我怎么能在unix上编辑二进制文件?

11 个答案:

答案 0 :(得分:106)

在vim中您可以输入:%!xxd 将其变为hexeditor。 :%!xxd -r 返回正常模式。 xxd是在vim安装中提供的。

有关使用vim编辑二进制文件的一些评论,请参阅here(归结为:设置二进制以避免麻烦,仅使用“R”或“r”命令更改文本,不要删除字符。)

如果您是Emacs粉丝,请参阅here以获取有关如何使用Emacs编辑二进制文件的指南。

答案 1 :(得分:39)

您也可以尝试ghex2 GNOME实用程序。这为您提供了侧面的自动十六进制到ASCII,以及底部的各种字符/整数解码。 ghex2
(来源:googlepages.com

答案 2 :(得分:15)

Linux / Unix上有更多的hexeditors ......

我在Ubuntu上使用hexedit

sudo apt-get install hexedit

答案 3 :(得分:10)

您可以查看wikipedia

我特别喜欢BIEW

答案 4 :(得分:8)

Bless是一个高质量,功能齐全的十六进制编辑器。

它是用mono / Gtk#编写的,它的主要平台是GNU / Linux。但是它应该能够在单声道和Gtk#运行的每个平台上毫无问题地运行。 主要特点 Bless目前提供以下功能:

  • 高效编辑大型数据文件和块设备。
  • 多级撤消 - 重做操作。
  • 可自定义的数据视图。
  • 屏幕上的快速数据呈现。
  • 多个标签。
  • 快速查找和替换操作。
  • 数据转换表。
  • 高级复制/粘贴功能。
  • 突出显示文件中的选择模式匹配。
  • 基于插件的架构。
  • 将数据导出为text和html(其他带插件的数据)。
  • 按位操作数据。
  • 综合用户手册。

copied from http://home.gna.org/bless/

答案 5 :(得分:3)

我喜欢 KHexEdit ,这是KDE的一部分

对于大多数人来说,它的“Windows风格”用户界面可能很快学习(与Vim或Emacs无论如何相比:)

答案 6 :(得分:2)

有轻量级二进制编辑器,请检查hexedit。 http://www.linux.org/apps/AppId_6968.html。我尝试用它来编辑Linux中的ELF二进制文件。

答案 7 :(得分:2)

我制作了wxHexEditor,它是开源的,用C ++ / wxWidgets GUI库编写,甚至可以打开你的exabyte大小的磁盘!

http://wxhexeditor.sf.net

试试吧。

答案 8 :(得分:2)

作为变体,您可以使用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.....@.

有关如何在视觉模式下工作的详细信息,请阅读here

答案 9 :(得分:1)

对于小的更改,我使用了hexedit:

http://rigaux.org/hexedit.html

简单但快速且有用。

答案 10 :(得分:1)

我对wxHexEditor有很好的体验...只需确保你是通过菜单进行十六进制编辑驱动器

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