【发布时间】:2010-11-08 00:03:42
【问题描述】:
您好,我想弄清楚如何确保提供的 DLL 是正确的。 原因是我们的分布式解决方案是由许多小的 DLL 构建的,每个 DLL 都包含应用程序的某些部分,有时我们会推出其中一些的新版本。
这不是“更新问题”,而是很高兴 - 我们如何检查是否:
它是正确的二进制/汇编
客户/客户篡改了文件,并可能将其替换为具有相似功能的同名文件之一以返回错误值?
多种原因
这可以用于版权保护/许可证测试或其他重要的验证问题,所以我想弄清楚 MD5 校验和 + 某种组合信息是否足够? (如果是这样,如何访问装配细节或类似信息?)
因为没有什么是故障安全的,当您可以反编译 .NET DLL 时,但正是因此我们希望确保有人不只是反编译我们的函数列表,然后在那里编写自己的替换 DLL,以替换我们“哦,太重要了”的 DLL。
我们的原因是调试/支持所需的麻烦数量,当我们遇到因错误或目的而破坏这些的客户时(我们不关心原因,我们只是试图防止大多数可能的错误)。
【问题讨论】:
标签: c# .net assemblies checksum dll-injection