在 Ubuntu(或其他 Linux)系统中,strings 命令常用于从二进制文件、core 文件或数据文件中提取可打印字符串。如果你想要“过滤 strings 的内容”,通常有以下几种常见需求与做法:
strings filename
默认 strings 只显示长度 ≥ 4 的字符串,你可以自定义:
# 只显示长度 ≥ 6 的字符串
strings -n 6 filename
这是最常用的过滤方式。
# 查找包含 "error" 的字符串
strings filename | grep error
# 忽略大小写
strings filename | grep -i error
# 正则匹配
strings filename | grep -E "version|build"
# 不包含 "debug"
strings filename | grep -v debug
# 只从 .rodata 段提取
strings -e s filename
常见编码选项:
-e s:7-bit 字符串-e b:16-bit-e l:32-bit-e B / -e L:大端 / 小端strings binary > strings.txt
grep "password" strings.txt
# 只显示以 http 开头的字符串
strings filename | awk '/^http/'
# 去掉空行
strings filename | sed '/^$/d'
strings /bin/ls | grep -i version
strings firmware.bin | grep -E "https?://"
strings malware | grep -i "cmd\|exec\|sh"
如果你有具体场景(比如:过滤中文字符、过滤某个段、分析某个程序),可以告诉我,我可以给你更精确的命令。