温馨提示×

如何分析Ubuntu Strings

小樊
36
2026-08-31 06:20:38
栏目: 智能运维

在 Ubuntu(以及其他 Linux 发行版)中,“strings” 通常指 GNU strings 工具,用于从一个文件(二进制、库、固件等)中提取可打印的字符串。常见用途包括:调试、逆向分析、取证、查看依赖信息、排查二进制内容等。

下面从安装 → 基本用法 → 常用分析选项 → 实战示例 → 高级技巧系统说明。


一、什么是 Ubuntu Strings

strings 是 GNU binutils 的一部分,作用是:

从非文本文件中提取可打印字符序列(默认长度 ≥ 4)

常用于:

  • 分析 ELF 可执行文件
  • 查看程序中是否包含调试信息、路径、URL、密钥
  • 逆向工程 / 恶意软件分析
  • 调试库文件或崩溃程序

二、安装 strings

Ubuntu 通常已预装,但你也可以手动安装:

sudo apt update
sudo apt install binutils

检查版本:

strings --version

三、基本用法

1️⃣ 最简单用法

strings /bin/ls

输出 /bin/ls 中所有可打印字符串。


2️⃣ 将结果保存到文件

strings /bin/ls > ls_strings.txt

四、常用命令行选项(重点)

✅ 1. 指定最小字符串长度 -n

默认最小长度为 4

strings -n 6 test.bin

只显示长度 ≥ 6 的字符串


✅ 2. 显示字符串在文件中的偏移 -t

以十六进制显示偏移

strings -t x test.bin

示例输出:

1a3 /lib64/ld-linux-x86-64.so.2

以十进制显示偏移

strings -t d test.bin

✅ 3. 指定文件格式 -e

用于分析非 ELF 文件(如固件、Windows 程序)

选项 含义
-e s 7-bit ASCII
-e b 16-bit big-endian
-e l 16-bit little-endian
-e B 32-bit big-endian
-e L 32-bit little-endian

示例:

strings -e l firmware.bin

✅ 4. 只分析某个段(ELF 文件)

strings -d /bin/ls

-d 只扫描 data 段


✅ 5. 搜索特定字符串(结合 grep)

strings /bin/ls | grep -i "error"
strings app | grep -E "http|https"

五、实战示例

示例 1:查看程序是否包含硬编码路径

strings ./myapp | grep "/home"

示例 2:分析可疑二进制是否包含 URL

strings suspicious_bin | grep -E "https?://"

示例 3:查看程序使用的库

strings ./app | grep ".so"

示例 4:逆向分析思路

strings -n 8 binary | less

常见可发现内容:

  • 调试信息
  • 日志文本
  • 文件路径
  • 加密密钥
  • SQL 查询
  • 错误信息

六、strings 的局限与注意事项

⚠️ 1. strings 不是反汇编器

  • 不能看到逻辑
  • 不能还原源码
  • 只能看到“文本残留”

⚠️ 2. 容易被误导

  • 字符串可能是旧的/未使用代码
  • 字符串可能被混淆或加密

⚠️ 3. 容易被绕过

恶意程序可能:

  • 动态生成字符串
  • 使用加密/编码
  • 不使用固定字符串

七、进阶:结合其他工具

工具 用途
objdump 反汇编
file 判断文件类型
xxd 十六进制查看
radare2 逆向分析
gdb 动态调试

示例组合:

file binary
strings -n 6 binary | less
objdump -d binary | less

八、常见面试 / 实战问题

Q:strings 能看到什么? ✅ 程序中残留的可打印字符

Q:strings 能提取密码吗? ✅ 如果硬编码,可能看到;否则不行

Q:如何分析 ELF?file → strings → objdump → gdb


九、总结一句话

Ubuntu 上的 strings 是快速扫描二进制文件“可见文本信息”的利器,适合取证、调试和初步逆向分析,但不替代真正的反汇编和调试工具。

如果你有**具体文件(ELF / 固件 / 恶意样本)**想分析,可以贴出类型或片段,我可以一步步带你分析。

0