strings 是 Debian/Ubuntu 等 Linux 系统中一个常用的命令行工具,通常来自 binutils 包。它的作用是从一个二进制文件(或任意文件)中提取可打印的字符串。
sudo apt update
sudo apt install binutils
strings file
从 file 中提取所有长度 ≥ 4 的可打印字符串(默认最小长度通常是 4)。
示例:
strings /bin/ls
strings -n 6 file
只显示长度 ≥ 6 的字符串。
strings -a -t x file
-t x:十六进制偏移-t d:十进制偏移-t o:八进制偏移示例:
strings -t x /bin/ls
strings -a file
默认情况下 strings 可能只扫描某些段,-a 会扫描整个文件。
cat file | strings
strings file | grep -i error
查找二进制中可能存在的错误字符串。
strings /usr/bin/python3
✅ 分析二进制程序
✅ 查看程序中是否包含明文密码、路径、URL
✅ 逆向工程 / CTF
✅ 排查程序异常(如找不到某段日志)
✅ 确认某个库是否被静态链接
strings app | grep password
strings app | grep http
| 参数 | 说明 |
|---|---|
-n N |
最小字符串长度 |
-a |
扫描整个文件 |
-t x/d/o |
显示偏移地址 |
-e |
指定字符编码(如 s, l, b, B) |
-f |
显示文件名 |
如果你有具体使用场景(比如分析某个程序、CTF、查病毒、看库依赖),可以告诉我,我可以给你更针对性的命令示例。