如何编辑unix系统上的二进制文件
在Windows机器上,有许多第三方编辑器可以编辑二进制文件。 我相信那里应该有一些在* nix系统中的similer buildin。 任何想法如何编辑unix上的二进制文件?
您也可以尝试ghex2 GNOME实用程序。 这给你一边自动hexASCII,以及在底部的各种字符/整数解码。 ghex2 http://kmbrandt.googlepages.com/hexeditor.jpg
在vim中你可以input:%!xxd把它变成一个hexeditor。 :%!xxd -r返回到正常模式。 xxd在vim安装中发货。
这里有关于用vim编辑二进制文件的一些说明(归结为:设置二进制文件以避免麻烦,只使用“R”或“r”命令来改变文本,不要删除字符)。
如果您是Emacs粉丝,请参阅这里了解如何使用Emacs编辑二进制文件。
在Linux / Unix上有更多的hexeditors。
我在Ubuntu上使用hexedit
sudo apt-get install hexedit
你可以检查维基百科 。
我更喜欢BIEW 。
保佑是一个高品质,function齐全的hex编辑器。
它是用mono / Gtk#编写的,其主要平台是GNU / Linux。 但是,它应该能够在单声道和Gtk#运行的每个平台上运行而没有问题。 主要function祝福目前提供以下function:
- 高效编辑大型数据文件和块设备。
- 多级撤消 – 重做操作。
- 可定制的数据视图。
- 快速的数据在屏幕上呈现。
- 多个标签。
- 快速查找和replace操作。
- 一个数据转换表。
- 高级复制/粘贴function。
- select模式的高亮显示在文件中匹配。
- 基于插件的体系结构。
- 数据导出到文本和HTML(其他与插件)。
- 按位操作数据。
- 一个全面的用户手册。
我曾经使用bvi 。
我正在开发hex来克服:%!xxd
和bvi
的限制。
hexvi
特征
- 类似vim的键绑定和命令
- 去具体的抵消
- 插入,replace,删除
- search东西(PCRE正则expression式)
- 一切都是命令,可以用
hexvirc
来映射 - 配色scheme
- 支持大文件
- 支持多个文件(通过标签)
- Python所以入门级别应该低于C的
- CLI通过和通过
缺点
- 截至2016年3月,这是阿尔法function缺失,但我正在努力:
- 文件保存
- 撤销重做
- 命令历史
- 视觉select
- 手册页
- 没有自动完成
英属维尔京群岛
特征
- 类似vim的键绑定和命令
- 去具体的抵消
- 插入,删除,replace
- search的东西(文本和hex)
- 撤销重做
- CLI通过和通过
缺点
- 关于它的vimfunction – 不幸的是,它只能理解最基本的东西,在这方面肯定需要更多的爱(例如:不明白
:wq
,但是理解:w
和:q
) - 没有任何视觉select的支持
- 没有标签/分屏支持
- 经常崩溃
- 不支持大文件
- 没有命令历史
- 没有自动完成
我喜欢KHexEdit ,它是KDE的一部分
它的“Windows风格”用户界面对于大多数人来说可能相当快速学习(与Vim或Emacs相比:)
有轻量级的二进制编辑器,检查hexedit。 http://www.linux.org/apps/AppId_6968.html 。 我试图用它来编辑至less在Linux中的ELF二进制文件。
作为变种,你可以使用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 ABCDEF| 0123456789ABCDEF 0x004049d0 |31ed 4989 d15e 4889 e248 83e4 f050 5449| 1.I..^H..H...PTI 0x004049e0 |c7c0 103a 4100 48c7 c1a0 3941 0048 c7c7| ...:AH..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-..aH.. 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....aH. 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| ...aH?.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.....@.
有关如何在视觉模式下工作的详细信息,请阅读此处
我已经有了wxHexEditor的良好经验…只要确保你是hex编辑一个驱动器,你通过菜单
Devices -> Open Disk Device -> SCSI Disk Drive Partition #_N_