在 Linux 里,strings 作用不算“大”,但在特定场景下非常有用。它不是一个日常高频命令,但属于排查/分析/安全/逆向工具箱里的必备小工具。
下面从“能干什么、什么时候有用、什么时候没用”给你一个清晰判断。
strings 是干什么的?作用一句话总结:
从一个二进制文件(或任意文件)中提取出“可打印的字符串”
strings /bin/ls
输出类似:
Usage: %s [OPTION]... [FILE]...
GNU coreutils
%s: invalid option -- '%c'
适合:
strings a.out | grep -i http
常见发现:
比如:
strings firmware.bin
能快速判断:
安全工程师几乎必用:
strings suspicious_binary | less
可能发现:
/bin/shwget http://...⚠️ 注意:
strings 不能判断恶意与否,只能提供线索。
strings program | grep -E 'ip|url|host'
如果程序没加混淆,很容易看到。
strings file | grep -i "GNU"
或:
strings file | grep "ELF"
strings 没用?现代程序常见做法:
此时 strings 基本看不到有用信息。
strings:
这时应该用:
objdumpreadelfgdb对 .c .py .txt 没意义,直接 cat / less 更好。
| 工具 | 作用 |
|---|---|
strings |
快速看“有哪些字符串” |
readelf |
看 ELF 结构 |
objdump |
反汇编 |
hexdump |
看原始字节 |
grep |
文本搜索 |
Linux strings 作用大吗?
✅ 在以下场景作用很大:
❌ 在以下场景几乎没用:
如果你愿意,我可以:
strings 的高级用法strings vs binwalk / xxd你更关心哪一块?