gpt4 book ai didi

c# - 在运行应用程序 i C#/.NET 之前检查 DLL 是否真实/正确

转载 作者:行者123 更新时间:2023-11-30 21:18:39 26 4
gpt4 key购买 nike

您好,我正在尝试弄清楚如何确保提供的 DLL 是正确的。原因是我们的分布式解决方案是由许多小 DLL 构建的,每个 DLL 都包含应用程序的某些部分,有时我们会推出其中一些的新版本。

这不是“更新问题”,而是 merly - 我们如何检查:

  1. 它是正确的二进制/汇编

  2. 客户/客户篡改了该文件,并可能将其替换为具有相似功能的同名文件以返回错误值?

多种原因

这可用于复制保护/许可测试或其他重要的验证问题,所以我想弄清楚 MD5 校验和 + 某种汇编信息是否足够? (如果是这样,如何获得装配细节或类似信息?)

因为当您可以反编译 .NET DLL 时,没有什么是故障安全的,但正是因此,我们希望确保有人不只是反编译我们的函数列表,然后在那里编写我们“非常重要”的 DLL 的替换 DLL。

我们的理由是调试/支持所需的麻烦数量,当我们的客户因错误或故意破坏了这些(我们不关心原因,我们只是试图防止大多数可能的错误)。

最佳答案

我看到两个选项:

  1. Digital signing .您需要购买数字证书,但一旦您使它生效,您就会对文件的来源充满信心。如果还有一个优点是您的程序在 Windows Vista 及更高版本中不会被标记为来自“未知发布者”。

  2. 散列。您可以使用 MD5(或更好的 SHA-1 )散列。非常容易实现,但可以解决保护问题(尽管这样做并非易事)。

关于c# - 在运行应用程序 i C#/.NET 之前检查 DLL 是否真实/正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com