strings 命令用于从二进制文件或数据中提取可打印字符串。如果你想要过滤输出,常见做法是用 管道 + 文本处理工具。下面按使用场景给你一些实用示例。
strings file
strings -n 8 file
只输出 至少 8 个字符 的字符串
grep 过滤内容strings file | grep "password"
strings file | grep -i "error"
strings file | grep -E "https?://"
strings file | grep -v "debug"
strings file | head -20
strings file | tail -20
strings file | sort -u
readelf -S file
.rodata 提取strings -e l file | grep xxx
或结合 objdump:
objdump -s -j .rodata file
strings -e l file | grep -P '[\x{4e00}-\x{9fff}]'
strings file | grep "token" > result.txt
strings binary | grep -E "https?://"
strings binary | grep -iE "pass|token|key|secret"
strings core.dump | grep "admin"
| 需求 | 命令 |
|---|---|
| 过滤短字符串 | strings -n 8 |
| 搜索关键字 | strings file | grep keyword |
| 去重 | strings file | sort -u |
| 找 URL | strings file | grep http |
| 输出到文件 | > result.txt |
如果你能说明 具体场景(比如:ELF 分析、固件、内存 dump、日志),我可以给你更精准的过滤方案。