0%

hexdump 格式化输出

参考 hexdump-format_Focus-CSDN博客_hexdump格式化输出

hexdump -e '4/1 " 0x%02x,"' fdl_sec.bin -n 32

-e 指定格式字符串,格式字符串由单引号包含,格式字符串形如:’a/b “format1” “format2” ‘ 。每个格式字符串由三部分组成,每个由空格分割,如a/b表示,b表示对每b个输入字节应用format1格式,a表示对每个a输入字节应用format2,一般a>b,且b只能为1,2,4,另外a可以省略,省略a=1。format1和format2中可以使用类似printf的格斯字符串。

1
2
3
hexdump -e '16/1 " 0x%02x," "\n" ' keys/aes_priv_key
0x34, 0xf1, 0x4b, 0xd9, 0x1b, 0x32, 0x0f, 0x05, 0xb1, 0x5c, 0x6e, 0x72, 0x9d, 0xec, 0x42, 0x74,
0xd1, 0xae, 0x29, 0x36, 0x53, 0xe1, 0x89, 0x86, 0xd8, 0x88, 0xfe, 0xcc, 0x39, 0xbb, 0x30, 0x81,

-v 打印重复项

如果不带-v, 遇到重复的 会以 * 显示, 带 -v会显示所有项

-n 打印的字节数

-s 忽略文件开头多少个字节,再开始打印数据

因此最终可以使用下面命令完整打印单字节打印二进制文件的数据, 并可以无缝将数据导入到数组中

1
hexdump -e '16/1 " 0x%02x," "\n" ' -v <file> -n <字节数目> -s <字节数目>