Linuxxxd是一款功能強大的命令行工具,主要用於查看和修改二進制文件。它是Linux系統中自帶的一個子命令,具有較高的實用價值。本文將從多個方面來詳細闡述Linuxxxd。
一、基本的使用方法
1、查看二進制文件
$ xxd filename
這個命令將會以十六進制的方式顯示filename文件的所有內容,每行16字節,中間以空格隔開,最後一欄顯示它所表示的ASCII字符。
2、返回十六進制編碼
$ echo "hello world" | xxd -p
這個命令將字符串”hello world”轉換為其十六進制編碼,並輸出。
3、還原轉換後的十六進制編碼
$ echo "68656c6c6f20776f726c64" | xxd -r -p
這個命令將字符串”68656c6c6f20776f726c64″還原為其對應的ASCII字符串”hello world”。
二、文件比較與修改
1、比較兩個二進制文件
$ xxd file1 > file1.hex $ xxd file2 > file2.hex $ diff file1.hex file2.hex
這個命令將分別顯示兩個二進制文件file1和file2的十六進制編碼,然後用diff命令比較它們的不同之處。
2、更改二進制文件並保存
$ xxd filename | sed 's/oldstring/newstring/' | xxd -r > newfile
這個命令將文件filename的內容以十六進制的方式輸出,並用sed命令進行修改(將舊字符串oldstring替換為新字符串newstring),然後將修改後的十六進制編碼再還原為二進制文件保存在newfile中。
三、高級用法
1、以列出符號表的方式顯示二進制文件
$ readelf -S filename | grep '\.data'
這個命令以符號表的方式列出filename文件的所有數據段(.data),並給出每個數據段的偏移量(Offset)和長度(Size)。
2、查找二進制文件中的字符串
$ strings filename | grep 'searchstring'
這個命令將filename文件中所有可打印的ASCII字符串打印出來,並在其中用grep命令查找匹配的字符串(searchstring)。
3、生成隨機數
$ dd if=/dev/random bs=1 count=4 | xxd -p
這個命令將從/dev/random設備中讀取4個字節的隨機數,並以十六進制的方式輸出。
四、結尾
以上是Linuxxxd的介紹,希望能夠對大家有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307517.html