在 Ubuntu(以及大多数 Linux) 里,你提到的 strings 通常是指 strings 命令,而不是“Ubuntu Strings”这个专有名词。下面我按常见用法 + 解析方法给你说明。
strings 是什么?strings 是一个 二进制分析工具,用来从:
.so)提取可打印的字符串(通常是 ASCII / UTF‑8)。
strings 文件名
示例:
strings /bin/ls
输出类似:
Usage: %s [OPTION]... [FILE]...
GNU coreutils
ls
strings -n 6 test.bin
只显示 长度 ≥ 6 的字符串。
strings -t x test.bin
输出示例:
3a4f /lib64/ld-linux-x86-64.so.2
3c12 __libc_start_main
偏移格式:
-t x → 十六进制-t d → 十进制-t o → 八进制strings -e l test.bin
字符编码:
s:7-bit ASCII(默认)S:8-bitl:16-bit little-endianb:16-bit big-endianstrings -a test.elf
或结合 objdump:
objdump -s -j .rodata test.elf
strings app | grep "/home"
strings unknown.bin | less
常见可发现:
grep 查找关键信息strings app | grep -i password
strings app | grep -i http
strings 本身不做语义解析,它只是:
把二进制中连续可打印字符提取出来
如果你要进一步解析,通常配合:
| 工具 | 用途 |
|---|---|
grep |
过滤关键字 |
objdump |
分析 ELF 结构 |
readelf |
查看段信息 |
xxd / hexdump |
二进制查看 |
file |
判断文件类型 |
❌ strings 不能:
✅ 它只能:
如果你说的 Strings 是指:
.po / .mo 文件gettext 翻译字符串那解析方式完全不同,可以告诉我,我可以单独讲 Ubuntu 本地化字符串解析。
Ubuntu strings 解析 = 使用
strings命令提取二进制中的可打印字符串,再结合 grep / objdump 等工具分析。
如果你有 具体文件或报错信息,贴出来我可以帮你一步步解析。