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