代码之家  ›  专栏  ›  技术社区  ›  BerggreenDK

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

  •  2
  • BerggreenDK  · 技术社区  · 14 年前

    嗨,我正试图找出如何确保提供的DLL是正确的。

    这不是一个“更新问题”,但我们如何检查:

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

    多种原因

    因为没有什么是故障保护的,当你可以反编译.NET的动态链接库,但确切地说,因此我们要确保有人不只是反编译我们的功能列表,然后写我们的“哦,如此重要”的动态链接库自己的替换动态链接库。

    2 回复  |  直到 14 年前
        1
  •  4
  •   Alberto Martinez    14 年前

    我看到两种选择:

    1. Digital signing . 你需要购买一个数字证书,但一旦你使它工作,你可以对文件的来源感到非常有信心。If还有一个优点,就是你的程序不会被标记为来自Windows Vista或更高版本中的“未知发布者”。

    2. SHA-1 )散列。很容易实现,但可以解决保护问题(尽管这样做并不简单)。

        2
  •  0
  •   Kevin Stricker    14 年前

    在Visual Studio中,可以指向库的“特定版本”的引用。只需将引用属性中的默认“False”更改为“True”。这将为您处理程序集信息的查找。使用绑定重定向覆盖它很简单,但这将防止程序在意外安装了错误版本的情况下运行。