温馨提示×

linux strings能分析二进制吗

小樊
35
2026-09-11 09:51:48
栏目: 智能运维

可以的,Linux 下的 strings 命令就是用来分析二进制文件的

一、strings 是什么

strings 用于从一个文件中提取可打印的字符串(通常是 ASCII 或 Unicode 文本),常用于:

  • 分析二进制可执行文件(ELF、PE 等)
  • 查看程序中嵌入的字符串(路径、URL、错误信息、密钥等)
  • 逆向分析、取证、排查问题

二、基本用法

strings 文件名

示例:

strings /bin/ls

这会输出 /bin/ls 二进制文件中所有可打印的字符串。

三、常见实用参数

strings -n 6 file        # 只显示长度 >= 6 的字符串
strings -a file          # 扫描整个文件(不止数据段)
strings -e l file        # 指定编码(l=16-bit little endian)
strings -t x file        # 显示字符串在文件中的偏移(十六进制)

四、结合其他命令使用

strings binary | grep PASSWORD
strings binary | less
strings binary | grep -i http

五、能分析什么类型的二进制

✅ ELF(Linux 可执行文件)
✅ 动态库 .so
✅ 脚本编译后的文件
✅ 固件、镜像、core dump
✅ Windows PE(部分)

六、局限性

  • 只能看“明文字符串”,加密或混淆的内容看不到
  • 不能反汇编代码逻辑
  • 不适合做完整逆向(通常配合 objdumpgdbradare2 使用)

七、进阶组合示例

strings -a -n 8 binary | grep -E "https?://"

如果你愿意,我也可以:

  • 给你一个 strings + objdump 分析实战示例
  • 教你 用 strings 找隐藏配置或后门
  • 对比 strings vs binwalk vs radare2

直接说你用 strings 想干什么就行。

0