在 Debian(及大多数 Linux 发行版)里,“查看 strings”通常指使用 strings 命令:用来从二进制文件、核心转储或任意文件中提取可打印字符串。
下面按常见使用场景说明。
stringsstrings 会扫描文件中的可打印字符序列(默认长度 ≥ 4),常用于:
strings --version
如果没有:
sudo apt update
sudo apt install binutils
(Debian 上 strings 属于 binutils 包)
strings /bin/ls
常见输出:
/lib64/ld-linux-x86-64.so.2
Usage: %s [OPTION]... [FILE]...
GNU coreutils
strings /usr/bin/python3 | less
strings -n 6 /bin/ls
只显示 至少 6 个连续可打印字符 的字符串
strings -t x /bin/ls
或十进制:
strings -t d /bin/ls
strings -d /bin/ls
strings -t x /bin/ls | grep "^[0-9a-f]*[0-9a-f]$"
strings /bin/ls | grep error
例子:找库依赖
strings /bin/ls | grep libc
strings /lib/x86_64-linux-gnu/libc.so.6
用于:
strings core
strings image.img
| 参数 | 说明 |
|---|---|
-n N |
最少 N 个可打印字符 |
-t x |
显示十六进制偏移 |
-t d |
显示十进制偏移 |
-d |
仅扫描数据段 |
-a |
扫描整个文件(默认) |
file myapp
strings myapp | less
strings -n 8 -t x myapp | grep -i copyright
strings 只看静态数据,不能恢复运行时内存objdump, gdb, radare2)如果你说的 “Debian strings” 是指:
可以再具体说明,我可以针对性示例。