最近在玩固件,也就是要将数据内容直接以binary的方式存入文件。这时,如果我只想修改固件文件中的某一个字节数据内容,则使用十六进制编辑器来修改是最省时,最省力的最优方案了。所以,我就研究了一下!强大的VIM已经为我准备好了!接下来,让我分享一下Vim如何以十六进制方式编辑文件吧!
dian.bmp。
[root@localhost vim_exp]# ll
total 32
-rw-r--r--. 1 root root 30054 Jun 28 00:51 dian.bmp
我们使用VIM直接打开,可以看到乱码一批,无从下手,也就无法编辑了。
-b
:%!xxd
再看看显示效果是不是舒服多了!
左侧是地址偏移量,中间部分是Hex内容,可以使用Vim编辑,右侧是ASCII码显示。
现在我们想修改哪个字节移动光标到那个字节,然后直接编辑修改即可。方便不?编辑完成后,依然使用命令:wq来保存退出vim。
这里要注意一下,必须使用:%!xxd -r
最后总结一下:
vim -b eepw.bmp # 以bin方式打开文件
:%!xxd # 转换为Hex方式显示
edit # Vim的编辑模式
:%!xxd -r # 退出Hex方式显示
:wq # 保存退出