0

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

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

4

4 回答 4

0

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

于 2013-02-20T14:21:23.613 回答
0

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

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

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

一般来说:不可能阻止它。就像复制保护一样,如果对方可以访问您的程序集,那么一切都可以被规避——我指的是编译后的程序集,而不是源代码。

于 2013-02-20T13:47:15.053 回答
0

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

但是,您可以混淆您的库以使它们变得更难,但是没有万无一失的方法可以防止它们。

于 2013-02-20T13:47:59.877 回答
0

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

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

于 2013-02-20T13:52:38.130 回答