保护dll免受外部应用的影响

时间:2013-02-20 13:45:40

标签: c# dll

我有一个我在其中一个项目中使用的dll库。我不希望其他人能够链接和访问库中的方法。有可能保护它吗?谢谢!

编辑:有没有办法'隐藏'方法名称或让它们在dll中随机?

4 个答案:

答案 0 :(得分:0)

您可以尝试通过要求密钥来限制其使用。如果传递了错误的密钥,则您的库将无法工作。

然而,通过反编译您的应用程序并检查您提供的密钥并简单地使用相同的密钥,可以轻松避免这种情况。

另一种可能性是对每个公共类的每个公共方法添加一个检查。该检查将验证调用程序集是否属于您的一个。
根据此检查的实现,可以通过创建一个名为与您的一个相同的小代理程序集来轻松规避它。

一般情况下:无法阻止它。就像复制保护一样,如果对方有权访问你的程序集,一切都可以被规避 - 我的意思是编译的程序集,而不是源代码。

答案 1 :(得分:0)

简短的回答是否定的。如果有人想要访问您的图书馆,他们会找到一种方法。

然而,你可以对你的图书馆进行模糊处理以使他们更难,但是没有可靠的方法可以阻止它们。

答案 2 :(得分:0)

一种方法是Friend Assemblies 您可以标记程序集internal,只有指定的程序集才能访问您的库。

但它只是禁止以“简单的方式”使用你的库。

答案 3 :(得分:0)

您可以使用Sentinel Hasp等第三方产品的帮助保护您的库和可执行文件免受授权,但是您的应用程序在性能上会花费一些成本,而且不会保证没有人会破坏它。 但要打破保护,海盗应该努力工作。