在 Linux 中,strings 是一个常用命令,用于从二进制文件或其他非文本文件中提取可打印的字符串。下面从“能提取什么”和“常见用途”两方面说明。
strings 默认会扫描文件,找出连续的可打印字符序列(通常是长度 ≥ 4 的字符)。
例如可以从以下文件中提取:
示例:
strings /bin/ls
可能看到:
Usage: ls [OPTION]... [FILE]...
%s: invalid option -- '%c'
https://www.gnu.org/
包括:
printf、log 中的提示信息示例:
strings app.bin | grep password
如果程序未完全剥离符号:
strings a.out | grep "\.c$"
如:
strings 也支持:
strings -e l binary_file # little-endian UTF-16
strings unknown.bin
strings libxxx.so | less
| 参数 | 说明 |
|---|---|
-n |
指定最小字符串长度 |
-e |
指定编码 |
-f |
显示文件名 |
-a |
扫描整个文件(默认) |
示例:
strings -n 6 -f *.so
如果你有具体文件类型(如 ELF、exe、固件、内存 dump),我可以给你更针对性的用法。