Ubuntu Linux 查看、编辑、比较二进制文件

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

方法一:hexdump

apt-get install libdata-hexdumper-perl

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

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

如果想要慢慢看 : hd your_binary_file | more

方法二:

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

vim -b egenea-base.ko   加上-b参数,以二进制打开

然后输入命令  :%!xxd -g 1  切换到十六进制模式显示

0000000: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00  .ELF............
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..QQ.E...t.
0000040: 52 52 50 a1 00 00 00 00 50 e8 fc ff ff ff 83 c4  RRP.....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..U.QRP.....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..U.QRP.....
00000b0: 50 e8 fc ff ff ff 89 ec 5d c3 89 f6 55 89 e5 57  P.......]...U..W
00000c0: 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.E.P.....
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 (http://www.hds619.net/jeex.php)

ghex

bless  (Bless is a Hex Editor for Gtk#    http://home.gna.org/bless/)

UltraEdit

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

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

vim -bd base.ko base2.ko

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

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

转自:http://blog.csdn.net/chenqiai0/article/details/8537832

时间: 2024-11-01 21:49:25

Ubuntu Linux 查看、编辑、比较二进制文件的相关文章

ubuntu linux vi编辑模式下按方向键会变成ABCD,

最近从redhat9.0换到了ubuntu 12.04.3,发现secureCRT端在vi编辑模式下按方向键会变成ABCD, 找到了此解决办法: ubuntu下 vi输入方向键会变成ABCD,这是ubuntu预装的是vim tiny版本,安装vim full版本即可解决. 先卸载vim-tiny: $ sudo apt-get remove vim-common 再安装vim full: $ sudo apt-get install vim OK,恢复正常了. 方法是在这片文章中找到的

Linux查看编辑当前时间

一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A 命令 : "tzselect" 方法 B 仅限于RedHat Linux 和 CentOS 命令 : "timeconfig" 方法 C 适用于Debian 命令 : "dpkg-reconfigure tzdata" 3. 复制相应的时区文件,替换系统时区文件:或者创建链接文件 cp /usr/sh

用VIM查看编辑二进制文件

用VIM查看编辑二进制文件 vim可以很方便地编辑二进制文件,个人认为它比emacs的二进制编辑方式更好用.vim中二进制文件的编辑是先通过外部程序xxd来把文件dump成其二进制的文本形式,然后就可以按通常的编辑方式对文件进行编辑,编辑完成后再用xxd 转化为原来的形式即可. 可分如下几步进行: (1) 首先以二进制方式编辑这个文件: vim -b datafile (2) 现在用 xxd 把这个文件转换成十六进制: :%!xxd 文本看起来像这样: 0000000: 1f8b 0808 39

Linux文件查看/编辑方法介绍

转载:https://www.centos.bz/2011/10/linux-file-view-edit/ cat 命令介绍 cat 命令的原含义为连接(concatenate), 用于连接多个文件内容并输出到标准输出流中(标准输出流默认为屏幕).实际运用过程中,我们常使用它来显示文件内容.如果您熟悉MS-DOS 下的type 命令,相信不难掌握cat 命令.该命令的常用示例如下: cat file1.txt 显示 file1.txt 文件的内容: cat file1.txt file2.tx

Ubuntu Linux下设置IP的配置命令

转自:http://www.2cto.com/os/201306/219381.html 今天装了Ubuntu,但是发现不能上网,开始排查问题: 1.首先确定网络连接是否正确,所用的网线是否可以正常工作 2.查看网卡是否能正常工作,检测的方法如下: a.ping 127.0.0.1 b.ping 静态网关地址 c.ping 主机名(hostname就可以看到主机名) 3.看网卡地址是否配置正确(ifconfig命令看本地主机的网卡信息,和DNS.Default getway.Sever地址进行比

linux查看文件相关指令

以下内容整理自以下两篇文章: http://www.cnblogs.com/xilifeng/archive/2012/10/13/2722596.html Linux 查看文件内容的命令 http://www.cnblogs.com/luying--lulu/p/5314963.html Linux下查看文件内容的命令 查看文件的命令有以下几个: cat, tac, more, less, head, tail, tailf,nl. 其总体理解如下: cat   由第一行开始显示档案内容 ta

linux 查看磁盘空间大小

转自 http://www.cnblogs.com/adolfmc/archive/2013/02/16/2913801.html LINUX查看磁盘空间大小 (1)查看文件大小 查看当前文件夹下所有文件大小(包括子文件夹) du -sh # du -h15M     ./package16K     ./.fontconfig4.0K    ./.cache5.1M    ./.rpmdb20M     . 查看指定文件夹下所有文件大小(包括子文件夹) # du -h ftp3.8G    f

Debian/Ubuntu Linux:使用Hostapd搭建无线访问点(WAP)

NIXCRAFT发表于2012年8月25日,在2014年7月9日更新,适用DEBIAN / UBUNTU, 网络, UBUNTU LINUX, 无线网络. 我们有个闲置的USB无线适配器(WIFI适配器),而我们的ISP路由器却是有线的.怎样把我们的家庭NAS服务器变成无线访问点(WAP),在不用买额外的WPA盒子的情况下,在Debian或Ubuntu系统下使用无线设备访问到它? 你需要使用hostapd作为访问点和认证服务器.它实现了IEEE 802.11访问点管理,IEEE802.1X/WP

手动配置Ubuntu Linux系列3-缺省网关和主机名

上一篇讲到[原创]手动配置Ubuntu Linux的DHCP客户端,这里再说一下配置静态IP地址的方法. 仍然是编辑 interfaces文件. $ sudo vi /etc/network/interfaces eth0配置如下: auto eth0 address 192.168.1.123 netmask 255.255.255.0 gateway 192.168.1.1 保存退出后,使用重启networking命令让新配置生效. $ sudo /etc/init.d/networking