简短结论:strings 可以帮助你“碰碰运气”地查看文件里有没有明文密码,但它并不能“破解”或“提取”密码,尤其对加密/编码后的密码基本没用。
下面说清楚几种情况:
strings 是什么strings 是 Linux 下的一个命令,用来从一个二进制文件或任意文件中提取“可打印的字符串”。
例如:
strings /bin/ls
strings app.bin
它会把文件里连续的 ASCII / Unicode 字符串打印出来。
strings 能“看到密码”比如程序里有:
char *pass = "admin123";
那么:
strings program
可能会看到:
admin123
常见于:
strings config.bin
strings dump.log
可能看到:
password=123456
user=root
strings 没用比如:
你看到的只是:
$2b$12$xxxxxxxxxxxxxxxxxxxxx
这不是原密码。
如果密码是:
strings 在文件里根本看不到。
很多程序会:
strings 只能看到乱码。
strings myapp | grep -i pass
strings suspicious.bin | less
strings challenge | grep flag
如果你愿意,可以告诉我:
我可以给你更具体的命令和分析思路。