0

我试图下载一个签名的可执行文件(http://live.sysinternals.com/procexp.exe)并修改它。我认为它无法完成,Windows 会以某种方式阻止我运行它(或至少警告我)。但是当我更改单个字符(例如在 DOS 存根或任何其他文本数据中)时,它仍然可以运行。

在修改之前,当我运行这个应用程序时,它会发出 UAC 警告,显示它已签署 Microsoft 并询问我是否要运行它。修改后就没有了。即使我恢复更改,它仍然不会出现。我已经将修改和恢复的可执行文件与原始文件(总指挥官)进行了比较,它没有显示任何区别。但原著还是泼了UAC。

这是为什么?

我正在使用 Windows 7 和 Firefox。

4

3 回答 3

1

我从来没有尝试过这样做。然而,当您编辑文件时,数字签名无效,您应该在文件的属性中看到它。

Windows 通常不检查数字签名。当文件被标记为从 Internet 下载时,数字签名开始发挥作用(如果签名有效,Windows 将在确认对话框中显示其发布者;否则,发布者将是未知的)和 UAC(在这种情况下,数字签名还确认文件来自作为数字签名的一部分存储的发布者)。

是否显示 UAC 确认不是由数字签名控制的,而是由应用程序清单控制的。

所以据我了解,应该显示 UAC 对话框。但由于修改后的文件未通过数字签名检查,Windows 可能会认为文件不安全,无法提升。您可以在 Windows 事件日志中查找消息,可能会有解释您看到的行为的事件。

于 2012-04-30T07:01:16.113 回答
0

我已将 chrome.exe 复制到其他目录并开始在应用程序中写入随机字节。

我检查了属性,数字签名在那里。我已经更改了应用程序。它无法执行(给出一些内部错误而不是 Windows 错误)但仍然在属性中显示有效证书。真奇怪。

我认为 Windows 只验证应用程序的证书一次。

于 2015-09-09T17:45:56.203 回答
0

更改文件后,它仍会显示数字签名,但如果您单击该签名的详细信息按钮,我想您会发现它说签名无效。当我将它改回原来包含的内容时,它再次告诉我签名是有效的。(但是您必须使用编辑器来编辑字节 - 而不是可能会无意中添加换行符或其他内容的编辑器。)

于 2017-02-25T01:23:28.510 回答