温馨提示×

linux strings能查二进制吗

小樊
43
2026-07-18 11:57:38
栏目: 智能运维

可以的,strings 命令就是用来从二进制文件中提取可打印字符串的,在 Linux 下非常常用。

基本用法

strings 二进制文件

例如:

strings /bin/ls

它会把 ls 这个 ELF 可执行文件中所有长度足够的可打印字符序列打印出来。


常见用途

  • 查看程序里是否包含敏感信息(路径、URL、调试信息)
  • 分析未知二进制文件
  • 辅助逆向工程
  • 查看是否包含版本号、编译信息、函数名等
  • 判断文件是否可能是恶意程序

常见参数

strings -n 6 test.bin
  • -n:指定最小字符串长度(默认通常是 4)
strings -t x test.bin
  • -t x:显示字符串在文件中的偏移(十六进制)
  • -t d:十进制偏移
  • -t o:八进制偏移
strings -e l test.bin
  • -e:指定字符编码
    • s:7-bit
    • S:8-bit
    • l:16-bit little-endian
    • b:16-bit big-endian

注意事项

  • 只能提取“可见字符串”,不能还原代码逻辑
  • ELF、PE、COFF、原始 bin 都有效
  • 字符串可能是:
    • 编译器插入的
    • 调试信息
    • 代码中写死的字符串常量

示例

strings a.out | grep password

如果你有具体场景(比如分析固件、病毒样本、ELF、Windows exe),可以告诉我,我可以给你更针对性的用法。

0