请推荐一个shell的十六进制编辑器

请推荐一个shell的十六进制编辑器

您能推荐一款可以从 shell 运行的十六进制编辑器吗?我需要能够编辑而不仅仅是查看内容。

答案1

xxd

我发现,对于此类任务,此工具是最常用的工具(在最新的 Ubuntu 和 macOS 上均默认可用)。如果需要,您可以使用 删除右侧的 ascii 可读部分,-p然后可以使用 函数还原(将 ascii 输入更改为二进制数据)-r。以下是一些简单的示例用法:

使用 ascii 视图转换为十六进制:

echo example | xxd

转换为十六进制转储(右侧没有 ascii 视图):

echo example | xxd -p

从十六进制转储转换回二进制数据:

echo 746573740a | xxd -p -r

在 shell 脚本中,您可以用它实现更复杂的效果。我实际上已经使用它和“dd”来扫描特定序列并以预定义的方式修改它们,所有这些都是在 shell 脚本中使用 bash、ddxxd完成的。实际上,您也不需要 dd,因为您可以“搜索”到特定位置并将所需的字节序列写入该位置。这种方法的最大优点是易于编写脚本。

答案2

还有氢可溶性二氢可溶性

apt-cache show dhex

基于 ncurses 的十六进制编辑器,具有 diff 模式

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

如果您不熟悉 vim 或 emacs,这个似乎没有太多的学习曲线。

答案3

您也许能够使用 vi/vim 作为十六进制编辑器(它可以调用 xxd)。

进入十六进制模式:

:%!xxd

退出十六进制模式:

:%!xxd -r

来源:使用 vi 作为十六进制编辑器

答案4

这个使用起来非常简单:

sudo apt-get install hexcurse

相关内容