新聞中心
怎樣使用vi編輯器修改Linux中的二進制文件
用Vim編輯器修改二進制文件需要Vim和xxd命令配合,首先用Vim的-d選項來打開文件,一定要加-d選項:vim -d test.bin,然后在Vim中執(zhí)行如下命令::%!xxd,接著就可以任意編輯修改二進制文件了。修改完成后,先在Vim中執(zhí)行::%!xxd -r,然后用:wq就可以保存修改了。
創(chuàng)新互聯(lián)服務(wù)項目包括凌云網(wǎng)站建設(shè)、凌云網(wǎng)站制作、凌云網(wǎng)頁制作以及凌云網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,凌云網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到凌云省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
linux 二進制文件怎么打開
1、在Fedora桌面打開“Applications”-“System Tools”-“Terminal”打開命令終端,為vi編輯做準備。
2、在終端切換到要編輯的二進制文件目錄,然后輸入“vi -b test.bin”,其中“test.bin”是我要編輯的二進制文件。當(dāng)然也可以直接指定vi要打開編輯的文件路徑。“-b”參數(shù),就是告訴vi編輯器,我是在用二進制模式打開文件的。
3、打開文件之后,我們是很難看到文件實際內(nèi)容的,因為是二進制的,文件不是可讀的,因此也不能直接編輯和修改的。這時,我們可以使用命令“:%xxd”強制將其轉(zhuǎn)化為可讀的十六進制顯示,就可以使用正常的vi命令對文件進行編輯了。
4、轉(zhuǎn)化之后的文件內(nèi)容以十六進制表示,左側(cè)是文件偏移值。我們計劃將文件編譯00000010開始的4個十六進制字符“FFFFFFFF”修改一下。
5、使用正常的vi編輯器命令將十六進制字符“FFFFFFFF”修改為“88888888”,修改完成后,使用esc命令返回到vi的命令模式,然后使用命令“:%xxd -r”就可以將其重新轉(zhuǎn)化為二進制模式了。
linux 怎么看 文件二進制
一、在Linux下查看二進制文件的軟件:
xxd (2進制)
hexdump (16進制)
二、編輯:
1、biew
2、hexedit
3、vim
Vim 來編輯二進制文件。Vim 本非為此而設(shè)計的,因而有若干局限。但你能讀
取一個文件,改動一個字符,然后把它存盤。結(jié)果是你的文件就只有那一個字符給改了,
其它的就跟原來那個一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數(shù):
vim -b datafile
這個參數(shù)設(shè)定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'
設(shè)為零,免得文本行給擅自排版了。并且,文件一律以 Unix 文件格式讀取。
二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字符,那會讓程序運
行出問題。用 "R" 命令進入替換模式。
文件里的很多字符都是不可顯示的。用 Hex 格式來顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來顯示光標下的字符值。當(dāng)光標位于一個 字符上時,
該命令的輸出看起來就像這樣:
27, Hex 1b, Octal 033
文件中也許沒那么多換行符。你可以關(guān)閉 'wrap' 選項來獲得總覽的效果:
:set nowrap
字 節(jié) 位 置
要發(fā)現(xiàn)你在文件中的當(dāng)前字節(jié)位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后兩個數(shù)字就是文件中的當(dāng)前字節(jié)位置和文件字節(jié)總數(shù)。這已經(jīng)考慮了 'fileformat'
選項導(dǎo)致?lián)Q行符字節(jié)不同的影響。
要移到文件中某個指定的字節(jié),請用 "Go" 命令。例如,要移到字節(jié) 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉(zhuǎn)換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發(fā)布的。
首先以二進制方式編輯這個文件:
vim -b datafile
現(xiàn)在用 xxd 把這個文件轉(zhuǎn)換成十六進制:
:%!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.
現(xiàn)在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當(dāng)作普通文本來對待。
修改了十六進制部分并不導(dǎo)致可顯示字符部分的改變,反之亦然。
最后,用下面的命令把它轉(zhuǎn)換回來:
:%!xxd -r
只有十六進制部分的修改才會被采用。右邊可顯示文本部分的修改忽略不計。
分享名稱:linux轉(zhuǎn)二進制命令 linux十進制轉(zhuǎn)十六進制
分享路徑:http://fisionsoft.com.cn/article/ddigssi.html