在 Debian(以及一般的 Linux 系统)里,strings 是一个命令行工具,用来从二进制文件或任意文件中提取可打印的字符串(通常是 ASCII / UTF-8 文本)。
下面按“能查什么内容”来系统说明。
例如:
strings /bin/ls
可以看到:
常用于:
error:, failed to open)例如:
strings /usr/bin/apt | grep -i "error"
很多程序会硬编码路径,如:
/etc/passwd/var/log//usr/share/可用于:
strings binary | grep -i version
常见内容:
如:
libc.so.6
libpthread.so.0
(完整依赖建议用 ldd)
例如:
AESSHA256passwordkey可用于:
如:
--verbose
config_file
timeout=30
如:
strings image.png
strings unknown_binary
strings /usr/bin/vim | grep -i license
strings -n 6 file # 只显示长度≥6的字符串
strings -a file # 扫描整个文件(不只数据段)
strings -e l file # 16-bit little endian
strings -e s file # 8-bit
❌ 已加密的内容
❌ 压缩后的数据(除非解压)
❌ 符号表已被 strip 掉的函数名
❌ 运行时动态生成的内容
| 工具 | 用途 |
|---|---|
| strings | 提取可读字符串 |
| file | 判断文件类型 |
| ldd | 查看动态库依赖 |
| nm | 查看符号表 |
| objdump | 反汇编 |
如果你愿意,可以告诉我:
我可以给你更针对性的命令示例。