怎样使用vi编辑器修改Linux中的二进制文件

怎样使用vi编辑器修改Linux中的二进制文件,第1张

使用过Linux的人基本上都对vi有些许了解,这是Linux各种发行版都会有的标准文本编辑器,功能很强大。他不但能编辑正常的ASCII/ASIN文本文档,也可以编辑二进制文档的,这里我们就以Fedora为例来看一下如何使用vi编辑二进制文档。

工具/原料

安装了Linux的计算机/笔记本电脑

vi编辑器和需要编辑的二进制文件

方法/步骤

在Fedora桌面打开“Applications”-“System Tools”-“Terminal”打开命令终端,为vi编辑做准备。

在终端切换到要编辑的二进制文件目录,然后输入“vi -b test.bin”,其中“test.bin”是我要编辑的二进制文件。当然也可以直接指定vi要打开编辑的文件路径。“-b”参数,就是告诉vi编辑器,我是在用二进制模式打开文件的。

打开文件之后,我们是很难看到文件实际内容的,因为是二进制的,文件不是可读的,因此也不能直接编辑和修改的。这时,我们可以使用命令“:%xxd”强制将其转化为可读的十六进制显示,就可以使用正常的vi命令对文件进行编辑了。

转化之后的文件内容以十六进制表示,左侧是文件偏移值。我们计划将文件编译00000010开始的4个十六进制字符“FFFFFFFF”修改一下。

使用正常的vi编辑器命令将十六进制字符“FFFFFFFF”修改为“88888888”,修改完成后,使用esc命令返回到vi的命令模式,然后使用命令“:%xxd -r”就可以将其重新转化为二进制模式了。

步骤阅读

6

转化完成后,就可以看到,二进制显示的内容与没修改之前的内容已经有所差异。这时使用命令“:wq”保存退出就可以了。

查看一些二进制文件的内容,比如二进制文件中包含的.某些字符串。可以将二进制文件转换为ASCII、10进制、16进制或8进制进行查看。

-b 每一字节以八进制显示,一行共16个字节,一行开始以十六进制显示偏移值;

0000000 177 105 114 106 002 001 001 000 000 000 000 000 000 000 000 000

-c 每一字节以ASCII字符显示,其余同上;

0000000 177 E L F 002 001 001

-C 每一字节以16进制显示,一行共16个字节,尾部附加16个相应的ASCII字符;

00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF.。。。。。|

-n 只解释指定长度字节

单位:默认十进制,0x或0X开头则为16进制,0开头则为8进制。默认为字节,b则为512字节,k则为1024字节,m则为1048576字节

-d 双字节十进制显示

-o 双字节八进制显示

-v 去除中间显示的“*”字符

-x 双字节十六进制显示

-e 格式化参数

上面就是Linux中hexdump命令的用法介绍了,从文中我们可以了解到,hexdump命令并不是只能查看十六进制的,还能进行十进制、八进制等的显示。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8798375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存