温馨提示×

linux strings可以查密码吗

小樊
48
2026-09-23 18:40:01
栏目: 智能运维

简短结论:strings 可以帮助你“碰碰运气”地查看文件里有没有明文密码,但它并不能“破解”或“提取”密码,尤其对加密/编码后的密码基本没用。

下面说清楚几种情况:


一、strings 是什么

strings 是 Linux 下的一个命令,用来从一个二进制文件或任意文件中提取“可打印的字符串”。

例如:

strings /bin/ls
strings app.bin

它会把文件里连续的 ASCII / Unicode 字符串打印出来。


二、什么时候 strings 能“看到密码”

✅ 1. 密码是明文写死的

比如程序里有:

char *pass = "admin123";

那么:

strings program

可能会看到:

admin123

常见于:

  • 写得很烂的程序
  • 配置文件被打包进二进制
  • 调试版本
  • CTF / 逆向题

✅ 2. 配置文件 / 日志文件

strings config.bin
strings dump.log

可能看到:

password=123456
user=root

三、什么时候 strings 没用

❌ 1. 密码是加密的

比如:

  • MD5
  • SHA256
  • bcrypt

你看到的只是:

$2b$12$xxxxxxxxxxxxxxxxxxxxx

这不是原密码。


❌ 2. 密码在运行时输入

如果密码是:

  • 从键盘读取
  • 从网络接收
  • 在内存中

strings 在文件里根本看不到。


❌ 3. 被加壳 / 加密 / 混淆

很多程序会:

  • 加壳
  • 字符串加密
  • 动态解密

strings 只能看到乱码。


四、实际中怎么用(合法场景)

1️⃣ 排查自己写的程序

strings myapp | grep -i pass

2️⃣ 分析可疑程序(自己机器上)

strings suspicious.bin | less

3️⃣ CTF / 逆向入门

strings challenge | grep flag

五、重要提醒(合规)

  • ❌ 不要对不属于你的程序/系统做这些操作
  • ✅ 只用于:
    • 自己程序
    • 授权测试
    • 学习研究

如果你愿意,可以告诉我:

  • 你是想查 自己程序里的密码
  • 还是 某个二进制/固件
  • 或者是 CTF 题目

我可以给你更具体的命令和分析思路。

0 踩