strings 命令在 Linux 中用于从二进制文件中提取可打印的字符串。它通常用于分析程序的二进制文件,以查找可能包含文本信息(如调试信息、错误消息或帮助文档)的部分。
读取二进制文件:strings 命令接受一个或多个二进制文件作为输入,并逐字节扫描这些文件。
识别可打印字符串:默认情况下,strings 会查找至少连续四个十六进制字符(0x20 到 0x7E,即空格到波浪线之间的 ASCII 字符)的区域,并将这些区域视为可打印字符串。
输出结果:找到的字符串会被输出到标准输出,通常是终端。每个字符串占一行。
-n <number>:指定最小字符串长度。例如,-n 6 将只显示至少有 6 个字符的字符串。
-t <format>:指定输出格式。x 表示十六进制,d 表示十进制,o 表示八进制。默认是十六进制。
-e <encoding>:指定字符编码,如 ascii, ibm, utf8 等,用于正确解释多字节字符。
-T <bpf>:使用 BPF 过滤器来选择特定的字符串。
假设你有一个名为 example 的二进制文件,你可以使用以下命令来提取其中的可打印字符串:
strings example 如果你只想提取长度至少为 6 个字符的字符串,可以使用:
strings -n 6 example 通过使用 strings 命令,用户可以快速获取二进制文件中的有用文本信息,从而辅助各种分析和调试任务。