如何检查 Notepad++ 是否使用由 CIA 修改的 SciLexer.dll 库版本?

信息安全 视窗 正直 篡改
2021-09-08 13:45:14

我刚刚阅读了Notepad++ 7.3.3 的发行说明,我发现在最近Wikileaks 关于 CIA 黑客工具的披露中,有一些东西会影响 Notepad++该程序本身很好,但它依赖于一个名为 SciLexer.dll 的外部 DLL,其中存在一个由 CIA 修改的版本,可以在后台收集数据。鉴于此,最新版本的 Notepad++ 会检查该库的签名,如果它不是正确的,它根本不会启动。

我的问题是我使用的电脑没有管理员权限,我不能自己安装/更新程序,甚至要求 IT 这样做也很长,因为他们只允许安装一些批准的版本,由于通常的官僚复杂性,整个程序可能需要数周或数月。那么,在无法安装最新版本的情况下,如何检查我的 SciLexer.dll 版本是否良好?有没有直接的方法来检查证书(也许使用CertUtil命令)?如果不是,我可以采用 SHA-256 哈希值并根据已知的良好哈希值对其进行验证吗?和哪一个?

例如,要获得文件的 SHA-256 哈希值,我可以打开一个 shell 并运行以下命令:

certutil -hashfile "C:\Program Files (x86)\Notepad++\SciLexer.dll" SHA256

它的输出是:

SHA256 hash of file SciLexer.dll:
ea 47 f3 18 a8 09 6b 0b 37 f0 cf 04 be 07 76 f0 33 80 27 50 57 a6 cc 10 44 28 df 38 3e d7 69 68
CertUtil: -hashfile command completed successfully.

我目前有 Notepad++ v6.6.9,它在 Windows 7 64 位企业版上运行。

那么,如何验证我电脑上安装的库是否是原始库?

1个回答

从编辑器的网站,您可以下载计算机上安装的版本的存档(zip 或 7z)。检查存档的签名。然后解压缩存档并计算其 DLL 的校验和(例如使用 SHA-256)并将其与已安装 DLL 的校验和进行比较。两者应该相同。

如果校验和不同,您应该在公司的帮助台上张贴您的调查结果。让管理员找到他的问题的解决方案(替换 DLL 或更新应用程序)。

同时,portableapps.com 上提供了便携式版本的 Notepad++ 你也应该检查它的 DLL,但你不需要更高的权限来安装它。