在 Linux 里,strings 命令本身并不能“发现隐藏文本”的魔法功能,它只是从一个二进制文件或任意文件中提取“可打印字符序列”(默认长度 ≥ 4)。
所谓“隐藏文本”,通常是指:
下面按常见场景说明如何用 strings 查“隐藏文本”。
strings 能看到的,是文件中连续的 ASCII / Unicode 可打印字符。
strings file
或指定最小长度:
strings -n 6 file
strings /bin/ls
可看到:
strings image.png | less
strings document.pdf | grep password
常用于:
strings file | grep -i "password\|secret\|token"
或宽一点:
strings -n 5 file | grep -E "key|user|admin"
strings -t x file
输出示例:
1a2b3c /etc/passwd
可用于 hexdump / gdb 进一步分析。
strings file | base64 -d
xxd file | less
readelf -p .rodata binary
strings 看不了:
这时候需要:
binwalkforemoststeghidezstegfile unknown
strings unknown | grep -i flag
strings -n 4 unknown | less
strings 不是“解密工具”,而是“把文件中裸露的字符揪出来”的工具。
如果你有具体文件类型或场景(比如 PNG 隐写、EXE、PDF、CTF),我可以给你更针对性的命令。