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

摘要:
Xxd-g1切换到十六进制模式,并显示0000000:000008b550839d073098d760001c039d0 U.9.s.v.…9.000000a0:72fa8b4d048b5510515250a100000000 r。。M、 .U.QRP…..00000b0:然后:方法3。还有一个GUI工具jeex(http:

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

方法一: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

免责声明:文章转载自《Ubuntu Linux 查看、编辑、比较二进制文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇流式处理框架storm浅析(上篇)C#-Ftp操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

webstorm设置新建vue文件的模板

Webstorm 添加新建文件类型 以创建 Vue 文件为例:   File—Setting—Editor—File and Code Template 分支,点击添加,依次输入 Name 和 Extension,OK 即可。如图: Webstorm 创建文件模板   Webstorm 新建文件过程中现在文件头部加入创建时间,作者信息,项目名称,需要用到...

解决JS文件页面加载时的阻塞

关于页面加载时的时间消费,许多书中都做出了介绍,也提出了很多种方法。本文章就详细介绍XHR注入。 概述:JS分拆的方法 1.XHR注入:就是用ajax异步请求同域包含脚本的文件,然后将返回的字符串转化为脚本使用,该方法不会造成页面渲染和onload事件的阻塞,因为是异步处理,推荐使用。 2.iframe注入:加载一个iframe框架,通过使用iframe框...

Tomcat系列(10)——Tomcat主要设计模式5种(外观,责任链,观察者,模板方法,命令模式)

核心部分 外观模式: RequestFacade应用门面模式(facade)来封装HttpServletRequest。 观察者模式: 事件监听机制,控制组件生命周期的 Lifecycle 、Servlet 实例的创建、Session 的管理、Container 管理等应用了观察者模式。相关的类有LifecycleListener, ContainerL...

oracle最高账号sys的密码认证模式

CONNECT USERNAME/PASSWORD@SERVERNAME AS SYSDBAconnect 是指连接到username是指用户名password是指密码servername是指服务名as sysdba是指已数据库管理员的身份登录不知道能不能帮到你。 oracle提供的认证模式 1. 操作系统验证(匿名登录 不检验用户名和密码)  conn...

Samba安装配置

Samba简介 Samba官网:http://www.samba.orgSMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“N...

Django流程-以登录功能为例

Django流程-以登录功能为例一、注意点 1、新创建的app一定要先去settings.py注册 简写:'app01' 完整:'app01.apps.App01Config' 2、启动Django项目的时候,一定要确保一个端口号只有一个Django项目占用,不然的话,会容易造成bug(修改代码后刷新页面没有效果) 3、用户可以访问的资源,都在url中,只...