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

在.NET中防止动态链接的安全性[关闭]

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

    我想部署一个附加了许可证的应用程序。但是,我想防止在visual studio中很容易引用我的dll。

    通常的做法是什么?我正在考虑对应用程序进行ngen以防止出现这种情况,但是,代码变得依赖于体系结构。我没有针对除windows以外的任何其他体系结构/平台,但是,在生成发布版本后重新生成应用程序似乎是我的一个解决方案。有没有其他的技巧来达到这个目的?

    4 回复  |  直到 14 年前
        1
  •  3
  •   Hans Passant    14 年前

    您不能发送NGEN ED图像,ngen.exe 必须 在目标计算机上运行。有一个专门的服务,由.NET安装程序安装。无论如何,它对保护任何东西都没有帮助,原始程序集也必须存在。

    .NET内置了对许可的支持,但它只适用于可设计的类。system.componentmodel.license是基类声明。licfilelicenseprovider是它的一个具体实现。

    你可以买第三方的东西,软件狗是无与伦比的。不管怎样,你得到的唯一真正的知识产权保护是在法庭上。在可见的地方声明版权,确保用户在使用代码之前经过明确的许可协议步骤。

        2
  •  2
  •   Richard Anthony Hein    14 年前

    代码访问安全(cas)。您可以强制执行LinkDemand,一直到继承链或方法或程序集,这要求所有程序集链接都具有所需的强名称键和其他证据。

        3
  •  0
  •   Cylon Cat    14 年前

    如果您正在使用安装程序,则可以在安装过程中更改。SQL Server会执行此操作。

    你也可以混淆。它本身并不阻止链接,但它确实使人们很难知道dll的功能,从而降低了它对其他进程的“有用性”。

        4
  •  0
  •   Gratzy    14 年前

    如果你把你的课程范围改成朋友