xxd
是一個可以看 binary 文件的 linux 工具。
為什麼沒事要看二進位檔?
- 看編譯出來的程式跟自己想得是否一樣
- 看圖片、影片的檔案內容
- 純粹好奇
xxd 使用
xxd filename
會輸出檔案內容像這樣:
00000000: 4500 6d00 7000 7400 7900 0000 0000 0000 E.m.p.t.y.......
00000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
可以分為三個區塊:第一個是 hex dump 的地址,每一行會 dump 16 個字元(預設),第二個是檔案內容(會以 ascii 編碼),最右邊是檔案的原始值,如果遇到沒辦法顯示的字元,會輸出 .
。
xxd -r filename
這個指令可以把二進位原始檔還原。
一些組合技
xxd filename | vim -
:用vim
看 binary 檔vim filename
然後在裡頭:%!xxd -r
,可以用 vim 來編輯 binary 檔案xxd filename > dump.hex
:就...直接放到文件中,可以搭配diff
使用