在 Linux 里,strings 命令用来从二进制文件(或任意文件)中提取可打印的字符串,常用于分析程序、日志、取证等。
下面按“从入门到常用”给你讲。
strings 文件名
示例:
strings a.out
会输出文件中所有长度 ≥ 4 的可打印字符串(默认最小长度 4)。
strings a.out | grep password
查找包含 password 的字符串。
strings -n 6 a.out
只显示长度 ≥ 6 的字符串(过滤噪音)。
strings -t x a.out
以十六进制显示偏移(常用)。
其他格式:
strings -t d a.out # 十进制
strings -t o a.out # 八进制
strings -e l a.out # 16-bit little endian
strings -e b a.out # 16-bit big endian
strings -e s a.out # 7-bit ASCII(默认)
strings -f a.out
显示文件名 + 字符串(多个文件时很有用)。
strings file1 file2
strings app | grep -i -E "user|pass|token"
strings suspicious.bin | less
strings a.out | grep -i version
| 命令 | 用途 |
|---|---|
| strings | 快速看“人能读的字符串” |
| hexdump | 看原始二进制 |
| objdump | 反汇编 / 段信息 |
✅ 结合管道更强大:
strings a.out | grep -C 2 "main"
✅ 分析 ELF:
strings /bin/ls
如果你愿意,可以告诉我:
我可以给你更针对性的命令。