简短结论:strings 本身不能直接处理压缩文件(如 .gz、.zip、.tar 等),它只能分析“原始二进制或文本数据”。 但你可以配合解压工具一起使用。
strings 的作用是:从文件里提取可打印字符序列。
压缩文件的内容是被编码/压缩后的二进制流,里面的字符串并不是“明文字符串”,所以直接跑:
strings file.zip
通常只能看到少量元信息(比如文件名),看不到压缩包内部的真实内容。
.gz)zcat file.gz | strings
或
gunzip -c file.gz | strings
tar -xzOf file.tar.gz | strings
unzip -p file.zip | strings
7z x -so file.7z | strings
strings file.zip | less
通常只能看到:
有些 .bin、.run 是自解压脚本:
strings installer.run
可能能看到脚本和明文字符串。
| 情况 | 是否能直接用 strings |
|---|---|
| 普通二进制 | ✅ |
| 文本文件 | ✅ |
.gz/.zip/.tar |
❌(需先解压) |
| 自解压程序 | ✅(有限) |
如果你有具体文件类型或场景(比如取证、逆向、日志分析),我可以给你更精确的命令。