在 Debian(以及其他 Linux 发行版)里,strings 是一个常用命令,用来从二进制文件、可执行文件、core 文件、库文件中提取可打印的字符串(比如函数名、路径、提示信息等)。
下面按“怎么用”来一步步说明。
strings 文件名
示例:
strings /bin/ls
这会输出 ls 二进制里所有可打印的字符串。
strings -n 6 文件名
只显示 长度 ≥ 6 的字符串。
strings -t x 文件名 # 十六进制
strings -t d 文件名 # 十进制
strings -t o 文件名 # 八进制
示例:
strings -t x /bin/ls
输出类似:
1234 /lib64/ld-linux-x86-64.so.2
strings -e s 文件名 # 7-bit ASCII
strings -e l 文件名 # 16-bit little endian
strings -e b 文件名 # 16-bit big endian
strings -e B 文件名 # 32-bit big endian
常用于分析不同架构的二进制。
cat file | strings
strings /bin/ls | grep password
strings app | grep -i version
file unknown_bin
strings unknown_bin
strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC
strings crash.core | less
在 Debian 上,strings 属于 binutils:
sudo apt update
sudo apt install binutils
检查是否安装:
which strings
| 需求 | 命令 |
|---|---|
| 提取字符串 | strings file |
| 最小长度 | strings -n 6 file |
| 显示偏移 | strings -t x file |
| 搜索关键字 | strings file | grep xxx |
如果你有具体场景(比如分析某个程序、查看版本、逆向、取证),我可以给你更针对性的命令示例。