如何在 Unix 系统上编辑二进制文件[已关闭]

问题描述 投票:0回答:12

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

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

linux unix binaryfiles hex-editors
12个回答
123
投票

Vim 中,您可以输入 :%!xxd 将其变成十六进制编辑器。 :%!xxd -r 返回正常模式。 xxd 在 Vim 安装中提供。

请参阅 here 了解有关使用 Vim 编辑二进制文件的一些说明(归结为 :set binary 以避免麻烦。仅使用“R”或“r”命令来更改文本,并且不要删除字符) .

如果您是 Emacs 粉丝,请参阅此处,了解如何使用 Emacs 编辑二进制文件的指南。


43
投票

您还可以尝试 GHex 2 个 GNOME 实用程序。这为您提供了侧面的自动十六进制到 ASCII,以及底部的各种字符/整数解码。

(来源:googlepages.com


19
投票

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

我在 Ubuntu 上使用 hexedit

sudo apt-get install hexedit

10
投票

您可以查看维基百科

我特别喜欢BIEW


9
投票

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

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

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

复制自https://github.com/afrantzis/bless


7
投票

我以前用过bvi

我正在开发 hexvi 来克服

:%!xxd
bvi
的局限性。

十六进制

特点

  • 类似 vim 的按键绑定和命令
  • 前往特定偏移量
  • 插入、替换、删除
  • 搜索内容(PCRE 正则表达式)
  • 一切都是命令,都可以映射到
    hexvirc
  • 配色方案
  • 支持大文件
  • 支持多个文件(通过选项卡)
  • Python 因此破解的入门级别应该低于 C 的
  • CLI 彻底

缺点

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

bvi

特点

  • 类似 vim 的按键绑定和命令
  • 前往特定偏移量
  • 插入、删除、替换
  • 搜索内容(文本和十六进制)
  • 撤消/重做
  • CLI 彻底

缺点

  • 关于它的 vim 功能 - 不幸的是,它只理解最 基本的事情,在这方面肯定需要更多的爱(例如:不 理解
    :wq
    ,但是理解
    :w
    :q
  • 没有任何视觉选择支持
  • 不支持选项卡/分屏
  • 经常崩溃
  • 不支持大文件
  • 没有命令历史记录
  • 没有自动完成功能

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| ][email protected].........
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.....@.

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


3
投票

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

它的“Windows 风格”UI 对于大多数人来说可能很快就能学会(无论如何与 VimEmacs 相比)。


2
投票

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

试试吧。


2
投票

有一个轻量级的二进制编辑器,名为 hexedit

我尝试使用它至少在 Linux 中编辑 ELF 二进制文件。


1
投票

我在 wxHexEditor 方面有很好的经验...只需确保如果您要对驱动器进行十六进制编辑,您可以通过菜单进行操作

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

1
投票

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

它很简单,但快速且有用。

© www.soinside.com 2019 - 2024. All rights reserved.