简单直接的回答是:不可以。 strings 是一个取证分析工具,而不是杀毒工具。
它不能直接“查毒”或判断一个文件是否有毒,但它是一个非常强大的辅助工具,可以帮助安全分析师发现病毒的特征或线索。
以下是详细的解释:
strings?strings 是一个命令行工具(存在于 Linux、Windows 等系统中),它的功能是:从二进制文件(如 .exe, .dll, .sys)中提取可打印的字符串(如 ASCII 和 Unicode 字符)。
比如,对一个程序运行 strings,你可能会看到文件路径、函数名、网址、注册表键值、甚至一些乱码文字。
strings 不能直接查病毒?strings 无法区分“正常的字符串”和“病毒的字符串”。strings 没有病毒特征库,也没有启发式分析能力。它只是机械地把文本“抠”出来。strings 直接运行通常只能看到乱码,看不到真实意图。strings 辅助查毒?虽然它不能直接杀毒,但安全研究员经常用它来“审问”可疑文件:
strings 输出结果里包含一个陌生的 IP 地址(如 192.168.1.1 或某个奇怪的域名),这可能是病毒连接的控制端(C2服务器)。cmd.exe /c, powershell, wget, mimikatz 等字样,且文件来源不明,可能是恶意软件试图执行系统命令。C:\Windows\System32\。strings 中暴露出来。举例说明:
假设你下载了一个 game.exe,怀疑是病毒。你运行:
strings game.exe | grep -i "http"
如果输出结果是:
http://evil-hacker.com/upload_data
那么这就高度可疑了。
如果你是想检测病毒,请使用以下工具:
strings 看字面值更准。strings 深得多。strings 不能查病毒。 它只是一个把二进制文件里的文字“翻译”出来的工具。建议: 如果你怀疑一个文件有毒,请直接将其上传到 VirusTotal(一个在线多引擎扫描网站),那里有 60 多种杀毒引擎帮你检测,比 strings 靠谱得多。