strings 是 Linux/Unix 系统中一个非常实用的命令行工具,主要作用是:
从一个二进制文件(或其他非文本文件)中提取出其中的可打印字符串。
strings 会扫描给定的文件,从中找出连续的可打印字符序列(通常是长度 ≥ 4),并以文本形式输出。
它常用于:
strings a.out
可能输出:
Usage: hello [options]
/home/user/data.txt
https://example.com
这些字符串通常是:
strings app | grep password
⚠️ 注意:
千万不要在程序中硬编码密码!
strings说明这类信息很容易被提取。
strings unknown_bin
可以判断:
strings libfoo.so
strings -n 6 app
只输出 长度 ≥ 6 的字符串。
strings -t x app
输出示例:
4a3 /lib64/ld-linux-x86-64.so.2
4d8 libc.so.6
支持:
-t x:十六进制-t d:十进制-t o:八进制strings -e l app
字符编码选项:
-e s:7-bit ASCII-e l:16-bit little-endian-e b:16-bit big-endianstrings 不做反汇编❌ strings 不能:
✅ 它是一个 快速、轻量的信息提取工具
strings用于从二进制文件中提取可读字符串,常用于程序分析、安全审计和调试。
如果你愿意,我也可以:
strings 和 objdump / readelf