tft每日頭條

 > 科技

 > 如何打開二進制文件

如何打開二進制文件

科技 更新时间:2024-12-03 20:56:35

  1Linux環境xxd命令如何編輯/修改二進制文件 xxd工具雖然不能直接修改二進制文件,但xxd -r參數可把Hexdump文本轉成二進制内容。convert (or patch) hexdump into binary.

  因此,對于要修改的二進制文件,可以先轉為Hexdump文本,再通過xxd -r命令把Hexdump文本轉為二進制文件。

  [mycc@wen*z:~]$ xxd file1.binary 0000000: 1234 0001 0000 0000 2022 0103 9900 000c .4...... ...... 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1... 0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3...... 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0 [mycc@wen*z:~]$ xxd file1.binary file1.txt [mycc@wen*z:~]$ vi file1.txt [mycc@wen*z:~]$ cat file1.txt 0000000: abcd 0001 0000 0000 2022 0103 9900 000c .4...... ...... 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1... 0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3...... 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0 [mycc@wen*z:~]$ xxd -r file1.txt file1.binary [mycc@wen*z:~]$ xxd file1.binary 0000000: abcd 0001 0000 0000 2022 0103 9900 000c ........ ...... 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1... 0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3...... 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

  如何打開二進制文件(xxd命令修改和查看二進制文件)(1)

  xxd修改二進制文件示例

  2用xxd查看二進制文件 2.1查看二進制文件

  [mycc@wen*z:~]$ xxd file1.binary 0000000: 1234 0001 0000 0000 2022 0103 9900 000c .4...... ...... 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1... 0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3...... 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

  2.2.查看指定字節數量内容:-l參數表示長度

  xxd -l 32 file1.binary 查看前32個字節

  [mycc@wen*z:~]$ xxd -l 32 file1.binary 0000000: 1234 0001 0000 0000 2022 0103 9900 000c .4...... ...... 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1...

  2.3查看指定偏移位置後的内容:-s參數表示偏移位置(從0開始),當值為負數時為從尾向前數偏移

  xxd -s 16 file1.binary 查看從16字節開始的内容

  [mycc@wen*z:~]$ xxd -s 16 file1.binary 0000010: 22f9 0100 0041 3106 1992 6741 3106 1992 ....A1...gA1... 0000020: 6700 00f7 0100 001f 0933 0900 0000 0310 g........3...... 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

  xxd -s -16查看最後16字節内容

  [mycc@wen*z:~]$ xxd -s -16 file1.binary 0000030: 4800 0000 7156 0559 71fb 0102 2c01 0130 H...qV.Yq...,..0

  2.4 限定每行輸出的字節數:-c 參數,限定每行字節數量

  xxd -c 8 file1.binary查看内容,每行8字節

  [mycc@wen*z:~]$ xxd -c 8 file1.binary 0000000: 1234 0001 0000 0000 .4...... 0000008: 2022 0103 9900 000c ...... 0000010: 22f9 0100 0041 3106 ....A1. 0000018: 1992 6741 3106 1992 ..gA1... 0000020: 6700 00f7 0100 001f g....... 0000028: 0933 0900 0000 0310 .3...... 0000030: 4800 0000 7156 0559 H...qV.Y 0000038: 71fb 0102 2c01 0130 q...,..0

  2.5以純Hex字符輸出:-p參數表示無空格,無序号,無ascii格式部分

  xxd -p file.binary

  [mycc@wen*z:~]$ xxd -p file1.binary 1234000100000000202201039900000c22f9010000413106199267413106 1992670000f70100001f0933090000000310480000007156055971fb0102 2c010130

  2.6将二進制文件内容轉為c語言内容:-i參數

  xxd -i file1.binary将二進制文件内容轉為c數組,這在某些測試過程中是有用的

  [mycc@wen*z:~]$ xxd -i file1.binary unsigned char file1_binary[] = { 0x12, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x01, 0x03, 0x99, 0x00, 0x00, 0x0c, 0x22, 0xf9, 0x01, 0x00, 0x00, 0x41, 0x31, 0x06, 0x19, 0x92, 0x67, 0x41, 0x31, 0x06, 0x19, 0x92, 0x67, 0x00, 0x00, 0xf7, 0x01, 0x00, 0x00, 0x1f, 0x09, 0x33, 0x09, 0x00, 0x00, 0x00, 0x03, 0x10, 0x48, 0x00, 0x00, 0x00, 0x71, 0x56, 0x05, 0x59, 0x71, 0xfb, 0x01, 0x02, 0x2c, 0x01, 0x01, 0x30 }; unsigned int file1_binary_len = 64;

  2.7綜合利用上面參數示例

  xxd -p -s 16 -l 32 -c 8 file1.binary 偏移16字節,輸出32個字節内容,每行輸出8字節,以純Hex方式顯示

  [mycc@wen*z:~]$ xxd -p -s 16 -l 32 -c 8 file1.binary 22f9010000413106 1992674131061992 670000f70100001f 0933090000000310

  xxd --help [mycc@wen*z:~]$ xxd --help Usage: xxd [options] [infile [outfile]] or xxd -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]] Options: -a toggle autoskip: A single replaces nul-lines. Default off. -b binary digit dump (incompatible with -ps,-i,-r). Default hex. -c cols format octets per line. Default 16 (-i: 12, -

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved