在 Linux 里,strings 命令用于从二进制文件、可执行文件、core 文件、数据文件中提取可打印的字符串(通常是 ASCII/Unicode 文本)。下面是常见用法和技巧。
strings 文件名
示例:
strings /bin/ls
会输出 ls 中包含的可读字符串(路径、提示信息、函数名等)。
strings -n 6 文件名
只显示长度 ≥ 6 的字符串,过滤掉短噪声。
strings -t x 文件名 # 十六进制
strings -t d 文件名 # 十进制
strings -t o 文件名 # 八进制
示例:
strings -t x /bin/ls
输出类似:
1f3c /lib64/ld-linux-x86-64.so.2
strings -e l 文件名 # 16-bit little endian
strings -e b 文件名 # 16-bit big endian
strings -e L 文件名 # 32-bit little endian
cat 文件名 | strings
常用于管道:
grep -Rl "main" . | xargs strings
strings -n 5 ./app
strings app | grep -iE "password|http|192\.168"
strings -t x -n 6 binary | grep "main"
strings core.1234 | less
strings file | grep "error"
strings file | grep -i "token"
strings 只提取可打印字符-e)如果你有具体场景(比如:
可以告诉我,我可以给你更针对性的 strings 用法。