需先安装binutils包(含strings命令):
sudo apt update
sudo apt install binutils
验证安装:strings --version。
从二进制文件提取可打印字符串:
strings <文件路径>
示例:strings example.bin。
| 选项 | 功能 | 示例 |
|---|---|---|
-n <长度> |
设置最小字符串长度(默认4) | strings -n 6 file(仅显示≥6字符的字符串) |
-t <格式> |
指定偏移量格式(x=十六进制,d=十进制) |
strings -t x file(以十六进制显示偏移量) |
-e <编码> |
指定字符编码(ascii/utf8/ibm) |
strings -e utf8 file(提取UTF-8字符串) |
-a |
扫描整个文件(默认仅扫描数据段) | strings -a file |
-f |
显示文件名(处理多个文件时) | strings -f file1 file2 |
strings file > output.txt
grep过滤:
strings file | grep "keyword"
strings file | grep -i "password\|secret"
find /path/to/dir -type f -exec strings {} \;
grep或less过滤。-a选项扫描全文件,避免遗漏非数据段字符串。-e可减少乱码。man strings。