在 Ubuntu(以及其他 Linux 发行版)中,strings 命令用于从二进制文件、核心转储或任意文件中提取可打印的字符串。它通常来自 binutils 包。
下面按常用场景给你讲怎么选参数。
strings file
提取文件中长度 ≥ 4 的可打印字符串(默认最小长度)。
-nstrings -n 6 file
只显示长度 ≥ 6 的字符串,过滤掉短噪声。
-t常见格式:
strings -t x file # 十六进制偏移
strings -t d file # 十进制偏移
strings -t o file # 八进制偏移
示例输出:
00001234 main
00001240 printf
-e / -n 配合strings -n 8 binary
-estrings -e s file # 7-bit ASCII(默认)
strings -e S file # 8-bit ASCII
strings -e b file # 16-bit BE
strings -e l file # 16-bit LE
strings -e B file # 32-bit BE
strings -e L file # 32-bit LE
常用于:
strings -e lstrings -n 4 --radix=x file
cat file | strings
strings binary | grep -i password
strings -e l binary | grep -i config
strings --help
man strings
strings -n 6 /bin/ls
strings -e l win.exe
strings -t x binary | grep -i "http"
| 需求 | 参数 |
|---|---|
| 最小长度 | -n |
| 偏移地址 | -t x/d/o |
| UTF-16 | -e l |
| 过滤噪音 | -n 8 |
| 配合分析 | grep |
如果你有具体场景(比如逆向、取证、固件、ELF、exe),我可以给你更精确的命令。