在 Debian 系统中,strings 是一个常用工具,用于从一个二进制文件或其他非文本文件中提取可打印的字符串。下面从「是什么、怎么用、常见场景、示例」几个方面说明。
strings 是什么?strings 属于 binutils 工具集,作用是:
从文件中找出 可打印的字符序列(通常是长度 ≥ 4 的字符串)
常用于:
在 Debian / Ubuntu 上:
sudo apt update
sudo apt install binutils
安装后就有 strings 命令。
strings 文件名
示例:
strings /bin/ls
输出类似:
/lib64/ld-linux-x86-64.so.2
GNU C Library
Usage: %s [OPTION]... [FILE]...
默认是 4,可修改:
strings -n 6 文件名
只显示 长度 ≥ 6 的字符串。
strings -t x 文件名
或:
strings -t d 文件名
-t x:十六进制偏移-t d:十进制偏移示例:
strings -t x /bin/ls
输出:
1f4 /lib64/ld-linux-x86-64.so.2
2a0 GNU C Library
strings -e l 文件名
常见编码选项:
-e s:7-bit ASCII-e l:16-bit little-endian-e b:16-bit big-endian-e L:32-bit little-endianstrings /bin/ls | grep -i error
strings app | grep -E 'password|token|http'
⚠️ 注意:这不是安全保护手段,只是辅助分析。
strings /usr/bin/curl | grep lib
| 场景 | 示例 |
|---|---|
| 分析未知二进制 | strings unknown_bin |
| 逆向分析 | 查找提示信息、路径 |
| 调试程序 | 查看编译进程序的字符串 |
| 取证分析 | 从内存/文件中提取信息 |
strings 不会反编译代码✅ Debian 下解析 strings 的核心用法:
strings 文件名
strings -n 6 文件名
strings -t x 文件名
strings 文件名 | grep 关键字
如果你有 具体文件类型(ELF、core dump、固件、exe) 或 想解析特定内容,可以贴出来,我可以帮你具体分析。