我每天都在工作中使用Wireshark x64。今天突然无法打开。
- 当我双击一个
pcap
(或pcapng
)文件时,Windows 告诉我未找到我尝试单击的文件。 - 当我尝试通过启动屏幕启动 Wireshark 时,什么也没有发生。
- 当我尝试通过 Launchy 启动 Wireshark 时,什么也没有发生。
- 当我尝试双击文件夹
Wireshark.exe
中时Program Files\Wireshark
,它声称找不到该文件...(!) - 当我打开 cmd 提示符时,转到同一文件夹并输入 wireshark 或 Wireshark.exe,我得到以下信息:
D:\Program Files\Wireshark>wireshark 系统找不到文件 D:\Program Files\Wireshark\Wireshark.exe。
我尝试运行进程监视器来查看是否发生任何相关事件,但什么也没看到。至少没有看到任何包含 Wireshark 路径、进程名称等的信息。
我已经根据几篇 KB 文章检查了注册表 - 没有非默认处理 .exe 文件的内容。
同一文件夹中的其他.exe 文件按预期工作。
我尝试在系统上卸载并重新安装 Wireshark(最新版本)——但这没有任何改变。
我尝试过“以管理员身份运行”——结果与之前相同。
这让我很害怕,我开始担心病毒等。我更新了 Windows Defender,然后进行了全面扫描。结果什么也没发现,所以理论上我是安全的。
有人知道如何解决此问题吗?我经常使用 Wireshark,因此如果能弄清楚就太好了 - 在过去一年左右的时间里,它一直运行良好,直到今天突然出现这种情况。
编辑:经过大量的安装和卸载(到同一个地方,到不同的地方)后,我有了一个简单而又奇怪的发现:
如果我重命名或复制 Wireshark.exe(任何名称,除了 Wireshark),它都会运行!
因此没有理由认为 Wireshark 本身存在任何问题。
那么,是不是我的 Windows 中存在某个程序在查看要运行的可执行文件的文件名,并导致错误?我很高兴我可以启动 Wireshark,但我对这可能意味着什么感到恐惧。
编辑2:按照 Ramhound 的建议,我尝试在安全模式下运行。然后发生了同样的事情 - 当我尝试通过双击启动 .exe 文件时,它声称无法找到它。如果我将其复制到另一个名称并运行它,它就可以正常工作。
此外,我还在线获取了 SpyBot 和 Kaspersky 的更新版本来对系统进行全面扫描,但他们没有发现任何东西。
答案1
我找到了 Wireshark.exe 无法运行的具体原因,而例如 Wireshark2.exe(我在同一文件夹中复制的副本)却运行正常。一定是以某种方式安装了一些恶意软件,而上述杀手程序没有发现。
我的侦查工作最终让我找到了一款名为 RogueKiller 的工具。它发现了一些有趣的东西,例如这样的注册表项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\图像文件执行选项\wireshark.exe
具体来说,在此键下有一个调试器设置,指向“nqij.exe” - 这不是我系统上的文件。当 Wireshark 尝试运行时,Windows 显然尝试使用 nqij.exe 对其进行“调试”,但找不到它,因此进程停止了。
所以这解决了我的问题。当然现在我必须找出这个病毒是如何进入我的电脑的,然后把它清除掉。
顺便说一句,这显然是为了避免被检测到而采取的行动——这些密钥有很多,不仅适用于 Wireshark,还适用于其他 .exe 文件,这让我认为它们是防病毒/反恶意软件程序。以下是一些非详尽的示例:
spybotsd.exe zlclient.exe hijackthis.exe keyscrambler.exe SDFiles.exe SDMain.exe SDWinSec.exe avscan.exe avp.exe avgwdsvc.exe AvastSvc.exe AvastUI.exe avcenter.exe
等等,等等,等等。
所以今天我了解了这些可以阻止 .exe 文件运行的注册表项。这是我的问题的核心。希望这也能帮助其他人。