是的,Linux 的 strings 命令可以提取文件中的可打印字符串(文字),常用于从二进制文件、可执行文件、core dump 或数据文件中找出“看起来像文字”的内容。
strings 是做什么的?strings 会扫描文件,提取长度大于等于一定值(默认 4)的可打印字符序列,并以换行形式输出。
常见用途:
.so / 可执行文件 / 固件中的文本strings 文件名
示例:
strings a.out
输出类似:
/lib64/ld-linux-x86-64.so.2
Hello, world!
Usage: test <arg>
strings -n 6 文件名
只输出 长度 ≥ 6 的字符串。
strings -t x 文件名
以 十六进制偏移 显示字符串位置:
3f0 /lib64/ld-linux-x86-64.so.2
也可用:
-t o:八进制-t d:十进制strings -a 文件名
或
strings --all 文件名
cat 文件名 | strings
strings /bin/ls
strings app | grep -i password
strings core.1234
strings a.out | less
static char* 可能不出现| 工具 | 用途 |
|---|---|
grep |
文本文件搜索 |
xxd / hexdump |
查看原始字节 |
objdump -s |
查看 ELF 段 |
readelf |
分析 ELF 结构 |
binwalk |
固件/二进制分析 |
✅ strings 可以提取文件中的文字(可打印字符串)
✅ 适合二进制、可执行文件、取证分析
❌ 不适合提取完整中文或加密内容
如果你有具体文件类型(比如 .bin、.so、.exe、中文文本、日志),我可以给你更精确的用法。