66

在 Windows 机器上,有许多第三方编辑器可用于编辑二进制文件。

知道如何在 Unix 系统上编辑二进制文件吗?

4

12 回答 12

120

在 vim 中你可以输入:%!xxd把它变成一个十六进制编辑器。:%!xxd -r回到正常模式。xxd 在 vi​​m 安装中提供。

有关使用 vim 编辑二进制文件的一些说明,请参见此处(归结为:set binary以避免麻烦,仅使用“R”或“r”命令更改文本,不要删除字符)。

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

于 2009-05-08T12:24:40.037 回答
41

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

于 2009-05-09T04:34:56.397 回答
17

Linux/Unix 上有更多的十六进制编辑器......

我在 Ubuntu 上使用 hexedit

sudo apt-get install hexedit
于 2009-05-09T15:35:01.110 回答
10

你可以查看维基百科

我特别喜欢BIEW

于 2009-05-08T10:38:07.260 回答
9

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

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

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

从 http://home.gna.org/bless/ 复制

于 2009-05-08T13:15:17.310 回答
7

我曾经使用过bvi

我正在开发hexvi来克服:%!xxdbvi的限制。

六六

特征

  • 类似 vim 的键绑定和命令
  • 去特定的偏移量
  • 插入、替换、删除
  • 搜索东西(PCRE 正则表达式)
  • 一切都是命令,可以映射到hexvirc
  • 配色方案
  • 支持大文件
  • 支持多个文件(通过选项卡)
  • Python 所以入门级别应该低于 C
  • CLI 贯穿始终

缺点

  • 截至 2016 年 3 月,它是 alpha 版,因此缺少功能,但我正在研究这些:
    • 文件保存
    • 撤销重做
    • 命令历史
    • 视觉选择
    • 手册页
  • 没有自动完成

英属维尔京群岛

特征

  • 类似 vim 的键绑定和命令
  • 去特定的偏移量
  • 插入、删除、替换
  • 搜索东西(文本和十六进制)
  • 撤销重做
  • CLI 贯穿始终

缺点

  • 关于它的 vim 功能 - 不幸的是,它只理解最基本的东西,在这方面肯定需要更多的爱(例如:不理解:wq,但理解:w:q
  • 没有任何视觉选择支持
  • 没有标签/分屏支持
  • 经常崩溃
  • 不支持大文件
  • 没有命令历史
  • 没有自动完成
于 2015-08-16T11:07:35.160 回答
4

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

有关如何在可视模式下工作的详细信息,您可以在此处阅读

于 2016-03-29T13:50:22.417 回答
3

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

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

于 2009-05-08T16:03:39.760 回答
2

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

于 2009-05-08T10:46:55.100 回答
2

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

http://wxhexeditor.sf.net

你试一试。

于 2011-03-19T22:37:32.243 回答
1

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

http://rigaux.org/hexedit.html

简单但快速且有用。

于 2009-05-08T15:49:44.270 回答
1

我在wxHexEditor方面有很好的经验……只要确保你正在对驱动器进行十六进制编辑,你就可以通过菜单进行操作

Devices -> Open Disk Device -> SCSI Disk Drive Partition #_N_
于 2012-01-31T20:25:50.250 回答