2024年2月2日发(作者:)

固本培元的专栏

你的问题,我也同样关注,可以共同探讨,联系邮箱:*******************:8944105

Ubuntu编辑查看二进制文件

分类: linux系统常用 2013-02-25 13:39 29人阅读 评论(0) 收藏 举报

查看二进制有以下几种方法:方法一:hexdump

apt-get install libdata-hexdumper-perl

安装好之后就可以直接hexdump your_binary_file

也可以直接使用hd命令来代替hexdump

如果想要慢慢看

: hd your_binary_file | more

方法二:

Vim

可以用来查看和编辑二进制文件

vim -b

加上-b参数,以二进制打开

然后输入命令 :%!xxd -g 1

切换到十六进制模式显示

0000000: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 .0000010: 01 00 03 00 01 00 00 00 00 00 00 00 00 00 00 00 ................0000020: 2c a7 03 00 00 00 00 00 34 00 00 00 00 00 28 00 ,.......4.....(.0000030: 10 00 0d 00 55 89 e5 51 51 8b 45 08 85 c0 74 11 ....U..0000040: 52 52 50 a1 00 00 00 00 50 e8 fc ff ff ff 83 c4 P.......0000050: 10 89 ec 5d c3 8d 76 00 55 89 e5 50 50 b8 01 00 ...]..v.U..PP...0000060: 00 00 8b 55 08 39 d0 73 09 8d 76 00 01 c0 39 d0 ...U.9.s..v...9.0000070: 72 fa 8b 55 04 51 52 50 a1 00 00 00 00 50 e8 fc r.......P..0000080: ff ff ff 89 ec 5d c3 90 55 89 e5 50 50 b8 01 00 .....]..U..PP...0000090: 00 00 8b 55 08 39 d0 73 09 8d 76 00 01 c0 39 d0 ...U.9.s..v...9.00000a0: 72 fa 8b 4d 04 8b 55 10 51 52 50 a1 00 00 00 00 r..M.......00000b0: 50 e8 fc ff ff ff 89 ec 5d c3 89 f6 55 89 e5 57 P.......]...U..W00000c0: 56 53 81 ec 8c 00 00 00 8b 5d 1c 8b 45 10 85 db VS.......]..E...00000d0: 75 7e 85 c0 75 71 50 8b 45 04 50 a1 00 00 00 00 u~..uqP.00000e0: 68 8c 00 00 00 50 e8 fc ff ff ff 83 c4 10 89 c2 h....P.........

然后就可以像修改文本文件一样修改16进制的字符,可以用 /

查找指定的偏移等等。修改右边的ascii字符应该无效。修改完成后再执行:%!xxd -r

切换会二进制模式,然后再 :wq

保存退出就可以了。在这vim里面这样编辑还是很方便的,注意一定要:%!xxd -r切换回来之后在保存才行。

方法三. linux

上面也有十六进制编辑的GUI工具

jeex

(/)

ghex

bless

(Bless is a Hex Editor for Gtk# /bless/)

UltraEdit

1

比较两个二进制文件,可以使用vimdiff。

vimdiff应该还是比较好用的,类似windows

平台的windiff

vim -bd

打开后就可以在两个窗口里面显示两个文件

ctrl + W +L

把输入焦点切换到右边的窗口,激活右边的窗口后输入的命令就是针对右窗口了:%!xxd -g 1

切换成十六进制的一个字节的模式ctrl + W +H

把输入焦点切换到左边的窗口

:%!xxd -g 1

] + c

查找上一个不同点[ + c

查找下一个不同点 0012930: 89 df 68 77 01 00 00 e8 fc ff| 0012930: 89 df 68 78 01 00 00 e8 fc f

2