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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM