【问题标题】:Need a good hex editor for Linux [closed]需要一个好的 Linux 十六进制编辑器 [关闭]
【发布时间】:2011-07-26 18:33:33
【问题描述】:

我需要一个好的 Linux 十六进制编辑器,我的意思是:

  • 快速
  • 具有搜索/替换功能
  • 不仅可以显示十六进制数据,还可以显示二进制、八进制等。
  • 可以处理大 (> 1 GB) 文件,而不会变得缓慢和无响应(此要求很重要)
  • (可选)具有一些比较/差异功能

你有什么建议?

【问题讨论】:

  • 对于 Ubuntu:jeex (GTK)、okteta (KDE)。 okteta 好多了。
  • 我很高兴当这些问题被关闭时,它们不会被删除并且可以投票。这样,我可以看到我想要的问答格式,而不是在网上其他地方阅读一堆无用的论坛。
  • 我在 Linux 上使用 sweetscape.com/010editor。不免费但物有所值(无从属关系)
  • wtf 关闭这个。 “程序员常用的软件工具”会让这个话题成为话题(而“软件开发独有的”只是一个愚蠢的要求......软件开发没有什么是独一无二的。例如,我可以使用 C 编译器进行硬件基准测试)。十六进制编辑器对编程很有用,例如。二进制协议和文件格式;以及制作磁盘实用程序,尤其是用于数据恢复。就我而言,我正要编写一个 python 程序来查找丢失的 NTFS 分区(testdisk 失败,因为它使用 CHS ... wtf),并希望首先在十六进制编辑器中看到一个好的分区的“魔力”。跨度>
  • 用来关闭这个的规则是愚蠢的。对帮助我们工作的开源工具的建议绝不是题外话。

标签: linux hex hex-editors


【解决方案1】:

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

它是用 mono/Gtk# 编写的,它的主要平台是 GNU/Linux。但是,它应该能够在 mono 和 Gtk# 运行的每个平台上毫无问题地运行。

Bless 目前提供以下功能:

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

wxHexEditor 是另一个免费的十六进制编辑器,因为没有适用于 Linux 系统的好的十六进制编辑器,特别是大文件。

  • 它使用 64 位文件描述符(最多支持 2^64 字节的文件或设备,这意味着一些 EB,但仅测试了 1 PetaByte 文件(目前)。
  • 它不会将整个文件复制到您的 RAM。这使它快速并且可以打开文件(大小为 Multi Giga
  • 可以在 Linux、Windows 或 MacOSX 上打开您的设备。
  • 内存使用情况:当前打开多个 > ~8GB 文件时约为 10 兆字节。
  • 可以通过 XOR 加密进行操作。
  • 使用 C++/wxWidgets GUI 库编写,可与其他操作系统(如 Mac OS、Windows)一起用作本机应用程序。
  • 您可以使用它复制/编辑您的磁盘、硬盘扇区。(对于手动救援文件/分区很有用。)
  • 您可以多次在文件中删除/插入字节,而无需创建临时文件。

DHEX 不仅仅是另一个十六进制编辑器: 它包括一个差异模式,可以用来轻松方便地比较两个二进制文件。由于它基于 ncurses 并且是可主题化的,因此它可以在任意数量的系统和场景上运行。通过使用搜索日志,可以轻松跟踪文件不同迭代中的更改。 Wikipedia article

您可以在 Linux 上进行排序以在此处找到更多信息: http://en.wikipedia.org/wiki/Comparison_of_hex_editors

【讨论】:

  • 如何用DHEX删除或添加字节?
  • 对于小型二进制文件编辑,我使用了xxd -r。如果你在 OS X 上,HexFiend 非常棒。 (我正在编辑一个包含密码的文件,所以我不想通过网络复制它)
  • 0.22 的 wxHexEditor 仍然存在严重的可用性问题/限制,但似乎仍然是最好的。
  • 如果您决定使用 wxHexEditor,请小心。文件十六进制差异工具无法正常工作(跳过一些差异)。我因此浪费了很多时间。
  • bless 现在对我来说无法使用了。有一个严重的错误,不允许在应用程序中覆盖文件。看看别处。
【解决方案2】:

我是一名 VIMer。我可以做一些罕见的十六进制编辑:

  • :%!xxd 切换到十六进制模式

  • :%!xxd -r 退出十六进制模式

但我强烈推荐ht

apt-cache show ht

Package: ht
Version: 2.0.18-1
Installed-Size: 1780
Maintainer: Alexander Reichle-Schmehl <tolimar@debian.org>

首页:http://hte.sourceforge.net/

注意:包名为ht,而安装包后可执行文件名为hte

  1. 支持的文件格式
    • 常用对象文件格式(COFF/XCOFF32)
    • 可执行和可链接格式 (ELF)
    • 线性可执行文件 (LE)
    • 标准 DO$ 可执行文件 (MZ)
    • 新的可执行文件 (NE)
    • 可移植的可执行文件 (PE32/PE64)
    • java 类文件(CLASS)
    • Mach exe/链接格式 (MachO)
    • X-Box 可执行文件 (XBE)
    • 平面 (FLT)
    • PowerPC 可执行格式 (PEF)
  2. 代码和数据分析器
    • 递归查找分支源和目标
    • 查找过程条目
    • 根据这些信息创建标签
    • 创建外部参照信息
    • 允许以交互方式分析未开发的代码
    • 允许创建/重命名/删除标签
    • 允许创建/编辑 cmets
    • 支持 x86、ia64、alpha、ppc 和 java 代码
  3. 目标系统
    • DJGPP
    • GNU/Linux
    • FreeBSD
    • OpenBSD
    • Win32

【讨论】:

  • 我喜欢 vi 命令!我尝试安装 ht 并陷入了一堆 TeX 损坏的依赖项。最终使用shed
  • 安装ht:sudo apt-get install ht。运行:hte &lt;file&gt; 注意尾随的 e! hte,而不是 ht。我不知道为什么这个包也不能叫做 hte。
  • @overthink 可能是因为 ht 的包 tex4ht
  • 使用 vim + xxd 时别忘了:set binary!否则,vim 将在文件末尾添加一个行终止符,这很有可能损坏所述文件(而且确实如此。很多)。二进制模式确保 vim 将其排除在外。在一些相关的说明中,您可以使用 :set ff=[unix/mac/dos] 在 unix/max/windows 之间更改文件格式,以确保 vim 使用目标系统的正确行尾。
  • 如果您计划添加/删除字节,请考虑使用xxd -pxxd -r -p-p 选项禁用地址前缀和 ASCII 预览,只留下原始的十六进制字节。
【解决方案3】:

就个人而言,我使用 Emacs 和 hexl-mod

Emacs 能够处理非常大的文件。您可以轻松使用搜索/替换值。最后,你可以使用'ediff'来做一些差异。

【讨论】:

  • 有非 emacs 的吗?我知道怎么做 xxd/vim 组合,但这有时会很烦人。
【解决方案4】:

wxHexEditor 是唯一适用于 linux 的 GUI 磁盘编辑器。谷歌“wxhexeditor site:archive.getdeb.net”并下载.deb文件安装

【讨论】:

  • 我尝试在 Ubuntu 14 上安装它真的很难,但仍然失败。
  • @Yan King Yin,试试Bless Hex Editor,对二进制文件很好用
  • 谢谢,但我现在正在使用 Okteta,它满足了我现在的需求...
  • 要在 Ubuntu 中安装,请在 google 搜索wxhexeditor ppa,它应该会给您launchpad.net/ubuntu/+source/wxhexeditor
  • 安装到ubuntu试试sudo apt-get install wxhexeditor
猜你喜欢
  • 2011-06-10
  • 2010-10-24
  • 2011-04-27
  • 2013-01-15
  • 2012-02-14
  • 1970-01-01
  • 2012-02-12
  • 2015-04-13
  • 2011-11-20
相关资源
最近更新 更多