strings 是 Linux 下常用的命令,用来从二进制文件或任意文件中提取可打印的字符串(通常是 ASCII / Unicode 文本),常用于分析程序、日志、取证等。
strings 文件名
示例:
strings /bin/ls
会输出 ls 二进制文件中所有可打印的字符串。
-n(指定最小长度)默认只显示长度 ≥ 4 的字符串。
strings -n 6 file
表示只显示 长度 ≥ 6 的字符串。
-a / --all扫描整个文件(默认可能只扫描某些段)。
strings -a file
-f(显示文件名)多个文件时很有用。
strings -f *
输出示例:
a.out: Usage: program
b.bin: hello world
-e(指定字符编码)常见选项:
s:7-bit ASCII(默认)S:16-bitb:16-bit Big Endianl:32-bit Little Endian示例(提取 UTF-16 字符串):
strings -e S file
-t(显示偏移地址)非常有用,用于定位字符串在文件中的位置。
strings -t x file # 十六进制
strings -t d file # 十进制
strings -t o file # 八进制
示例:
strings -t x /bin/ls
输出:
1a2f hello
1a35 world
-n 和 -tstrings -n 8 -t x binary
strings app | grep -i password
strings -a -n 5 suspicious.bin
strings /bin/ls | grep /
✅ 逆向分析
✅ 查找硬编码密码 / URL
✅ 确认程序版本信息
✅ 取证分析
如果你有具体文件类型或分析目的(比如 ELF、固件、恶意样本),我可以给你更针对性的命令。