在 Ubuntu(以及大多数 Linux 系统)里,strings 是一个命令行工具,用来从一个二进制文件、库、镜像等中提取可打印的字符串。下面按常见使用场景给你说明。
strings 会从文件中找出连续可打印字符(默认长度 ≥ 4),常用于:
.so、.a、core dumpstrings 文件名
strings /bin/ls
输出类似:
Usage: %s [OPTION]... [FILE]...
GNU coreutils
POSIXLY_CORRECT
...
strings -n 6 文件名
只显示 6 个及以上字符 的字符串(过滤短噪音)。
strings -t x 文件名
或
strings -t d 文件名
x:十六进制d:十进制示例:
strings -t x /bin/ls
输出:
4a3 /lib64/ld-linux-x86-64.so.2
strings -e l 文件名 # 16-bit little-endian Unicode
strings -e b 文件名 # 16-bit big-endian
strings -e s 文件
常用于分析非 ASCII 字符串。
strings app | grep -i password
strings app | grep -i http
strings unknown_file | less
strings libxxx.so
strings core
❌ 不是用于:
一般已预装(属于 binutils):
which strings
如没有:
sudo apt install binutils
| 需求 | 命令 |
|---|---|
| 看二进制字符串 | strings file |
| 过滤短字符串 | strings -n 6 file |
| 显示地址 | strings -t x file |
| 查找关键字 | `strings file |
如果你有具体文件类型(比如 ELF、固件、exe、core dump),我可以给你更针对性的 strings 用法示例。