主页

索引

模块索引

搜索页面

xxd命令

  • 用于生成十六进制(hexadecimal)表示的工具,也可以将十六进制数据还原为原始的二进制数据。它通常用于查看二进制文件的内容、调试或者修改文件。

  • 特别适合处理二进制文件的十六进制表示和还原,适用于文件调试、数据转换和脚本自动化任务。

选项

  • -g:分组大小,默认是 2(表示每两个字节为一组)。

  • -u:将输出中的十六进制字符显示为大写。

  • -i:生成 C 语言数组形式的输出,用于嵌入二进制数据到代码中。

  • -s:跳过的偏移量(单位:字节)。

  • -l:要读取的长度(单位:字节)。

  • -r:表示反转操作,从十六进制数据还原为二进制。

  • -c 选项指定每行显示的字节数(默认为 16)。

  • -p 显示纯十六进制数据

-p | -ps | -postscript | -plain
    Output in PostScript continuous hex dump style. Also known as plain hex dump style.

基本

将文件转换为十六进制格式:

$ xxd example.bin
00000000: 1266 179c 70dc e631 4bde d13a 6b22 f4dd  .f..p..1K..:k"..
00000010: 4959 1412 ecce 6975 f374 9a8d 34e5 1cbc  IY....iu.t..4...

每一行包含三个部分:

  1. 偏移量(行首的 00000000 表示第 0 字节)。

  2. 每 16 个字节的十六进制数据。

  3. ASCII 表示(右边部分显示可见字符,不可见字符用 . 表示)。

-p 选项

显示纯十六进制数据:

$ xxd -p example.bin
1266179c70dce6314bded13a6b22f4dd49591412ecce6975f3749a8d34e5
1cbc

生成十六进制文件:

$ xxd -p example.bin > example.hex

-r 选项

从十六进制文件还原:

$ xxd -r -p example.hex
f�p��1K��:k"��IY��iu�t��4��%

$ xxd -r -p example.hex > restore.bin

-i 选项

$ xxd -i example.bin

# 输出
unsigned char secret_key_bin[] = {
  0x12, 0x66, 0x17, 0x9c, 0x70, 0xdc, 0xe6, 0x31, 0x4b, 0xde, 0xd1, 0x3a,
  0x6b, 0x22, 0xf4, 0xdd, 0x49, 0x59, 0x14, 0x12, 0xec, 0xce, 0x69, 0x75,
  0xf3, 0x74, 0x9a, 0x8d, 0x34, 0xe5, 0x1c, 0xbc
};
unsigned int secret_key_bin_len = 32;

主页

索引

模块索引

搜索页面