strings 是 Linux 中一个强大的工具,用于提取二进制文件中的可打印字符串。它能帮助挖掘许多隐藏信息,尤其在逆向工程、取证分析和安全审计中非常有用。以下是它能发现的隐藏信息类型及示例:
bash
strings /path/to/binary | grep -i "password\|key\|secret"DB_PASSWORD=SuperSecret123
API_KEY=abcd1234efgh5678bash
strings binary | grep -i "debug\|log\|test"[DEBUG] Connection established
/var/log/app/error.log/tmp/ 下的可疑文件。
bash
strings binary | grep "/etc/\|/tmp/"HTTP://、ftp:// 或自定义协议头。
bash
strings binary | grep -E "http://|ftp://|192.168."bash
strings binary | grep "Copyright\|Version\|Build"Version 2.1.5 (Build 2023-10-01)system()、exec() 调用的命令片段。
bash
strings binary | grep "system(\|exec(\|chmod"system("rm -rf /tmp/*")AES、RSA、MD5 等字符串。bash
strings binary | grep -E "AES|RSA|^[a-zA-Z0-9+/=]{20,}$"$HOME、$PATH 或自定义变量。
bash
strings binary | grep "\$[A-Z_]\+"UTF-16 编码需加 -e l 选项)。
bash
strings -e l binary # 搜索宽字符(如Windows PE文件)grep 过滤:按关键词(如 pass、admin)缩小范围。-n 选项指定最小长度(如 -n 8 过滤短字符串)。objdump -s -j .rodata 先定位只读数据段。-e 选项支持其他编码(如 -e s 用于16位大端)。strings。sudo。通过 strings 快速筛查,再结合 hexdump、radare2 等工具深入分析,可以高效发现隐藏信息。