Linux下查看二進制文件命令


一、在Linux下查看二進制文件的軟件:

 

xxd

 

hexdump

 

二、編輯:

 

1、biew

 

2、hexedit

 

3、vim

 

Vim 來編輯二進制文件。Vim 本非為此而設計的,因而有若干局限。但你能讀

取一個文件,改動一個字符,然后把它存盤。結果是你的文件就只有那一個字符給改了,

其它的就跟原來那個一模一樣。

   要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數:

        vim -b datafile

這個參數設定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'

設為零,免得文本行給擅自排版了。並且,文件一律以 Unix 文件格式讀取。

二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字符,那會讓程序運

行出問題。用 "R" 命令進入替換模式。

文件里的很多字符都是不可顯示的。用 Hex 格式來顯示它們的值:

        :set display=uhex

另外,也可以用命令 "ga"  來顯示光標下的字符值。當光標位於一個  字符上時,

該命令的輸出看起來就像這樣:

          27, Hex 1b,  Octal 033

文件中也許沒那么多換行符。你可以關閉 'wrap' 選項來獲得總覽的效果:

        :set nowrap

字 節 位 置

要發現你在文件中的當前字節位置,請用這個命令:

        g CTRL-G

其輸出十分冗長:

    Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206

最后兩個數字就是文件中的當前字節位置和文件字節總數。這已經考慮了 'fileformat'

選項導致換行符字節不同的影響。

要移到文件中某個指定的字節,請用 "go" 命令。例如,要移到字節 2345:

        2345go

使 用 XXD

一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim

里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發布的。

   首先以二進制方式編輯這個文件:

        vim -b datafile

現在用 xxd 把這個文件轉換成十六進制:

        :%!xxd

文本看起來像這樣:

        0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49  ....9..;..tt.+NI

        0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30  K,.`.....b..4^.0

        0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9  7;'1.".....i.59.

現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。

修改了十六進制部分並不導致可顯示字符部分的改變,反之亦然。

   最后,用下面的命令把它轉換回來:

        :%!xxd -r

只有十六進制部分的修改才會被采用。右邊可顯示文本部分的修改忽略不計。


免責聲明!

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



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