strings 是 Ubuntu(以及大多数 Linux 发行版)中 binutils 软件包提供的一个命令行工具,用来从文件中提取可打印的字符串(通常是 ASCII / 可用字符序列)。
下面按「支持的文件类型」和「使用限制」说明。
理论上:几乎“所有文件”都能用
strings 不依赖文件格式,它做的是:
按顺序扫描文件的字节,把连续的“可打印字符”输出出来
所以以下文件都可以用:
/bin/ls).so).a).ko).sh).py).conf, .ini).zip, .tar, .gz).img, .iso).exe, .dll).dex, .apkstrings 不会解析文件结构,例如:
它只是“扫字节”。
✅ 所以你能从:
strings file
strings -n 6 file # 最少 6 个连续字符
strings -e l file # 16-bit little endian
strings -e b file # 16-bit big endian
strings -t x file # 显示偏移(十六进制)
| 情况 | 说明 |
|---|---|
| 加密内容 | 输出无意义 |
| 高度压缩数据 | 几乎无字符串 |
| 纯二进制流 | 可能只有少量输出 |
| 非常大的文件 | 可能很慢 |
如果你有 具体文件类型(比如 PNG、APK、SQLite、ELF),我可以告诉你 strings 能挖出什么、挖不出什么。