2

我怀疑我们正在使用的 asp.net mvc dll 已被修改,因为:

  1. Microsoft 符号服务器上没有匹配的符号信息。
  2. 有问题的 dll 不是强命名的。

如何最终确认 dll 是否确实来自 Microsoft 并且没有更改?

PS - 我意识到这听起来像是一个安全问题,在这种情况下它绝对有效,但我的目的是找出我的前辈是否包含了维护项目所需的所有代码。

4

2 回答 2

4

"%ProgramFiles%\Microsoft SDKs\Windows\v6.0A\bin\sn.exe" -T

例如:

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\sn.exe" -T c:\Windows\Microsoft.NET\Framework\v4.0.30319\system.xml.dll

将输出的公钥令牌与预期的公钥令牌进行比较。

对于它的价值,如果您引用一个强命名的 DLL,它将始终只加载具有相同强名称的 DLL(您可以绕过不同的版本,但这是一个单独的主题)。您可以通过查看您的 csproj 文件的源来验证正在使用的正确(合法)DLL,以确保正在使用合法的公钥令牌。

于 2013-03-11T16:31:41.527 回答
2

如果程序集经过数字签名,那么您可以确定它的所有者。他们说一张照片值一千个字,所以这里...

选择程序集是问题并按照下图查看其属性

在此处输入图像描述

在此处输入图像描述

于 2013-03-11T16:49:41.013 回答