温馨提示×

linux strings可以分析二进制吗

小樊
48
2026-10-05 10:11:08
栏目: 智能运维

可以的,strings 是 Linux 下常用于分析二进制文件的工具之一。

一、strings 能做什么

strings 的作用是从任意文件(包括二进制文件)中提取“可打印的字符串”,例如:

  • 程序中的提示信息(Usage:, error, filename)
  • 硬编码的路径、URL、IP
  • 函数名、库名
  • 配置项、密钥片段(如果明文写死)

示例:

strings ./a.out

二、常见用法

# 基本用法
strings binary_file

# 显示字符串偏移
strings -a -t x binary_file

# 最小长度(默认4)
strings -n 6 binary_file

# 从所有段提取(不只是数据段)
strings -a binary_file

三、二进制分析中的典型用途

  1. 快速了解程序功能
    strings malware.bin | less
    
  2. 查找可疑信息
    • /etc/passwd
    • http://
    • password
  3. 辅助逆向分析 配合 objdump、gdb、radare2 使用

四、局限性(重要)

strings 只能看到“明文字符串”:

  • ❌ 看不到加密内容
  • ❌ 看不到逻辑、控制流
  • ❌ 对加壳/混淆程序效果差
  • ❌ 不能反编译

五、常见搭配工具

工具 用途
file 判断文件类型
objdump 反汇编
readelf ELF 结构分析
nm 符号表
radare2 / ghidra 高级逆向

六、一句话总结

✅ strings 可以分析二进制,但只是“浅层文本提取”,适合快速侦察,不是完整逆向工具。

如果你有具体二进制(如 ELF / 固件 / 恶意样本),我可以给你更针对性的分析思路。

0 踩