【问题标题】:Deny client code access to a third-party library in .NET拒绝客户端代码访问 .NET 中的第三方库
【发布时间】:2015-12-01 02:37:15
【问题描述】:

我正在使用 C# 编写库,而我的库使用第三方 .NET 库。当我推出我的库时,我必须包括第三方库以及我的库。但是我想阻止我的库(客户端代码)的用户直接使用第三方库。有没有办法在编译时或运行时强制执行?

【问题讨论】:

  • 不,如果我可以访问它,我可以使用它。

标签: c# .net dll hide


【解决方案1】:

如果这样做没有法律问题,您可以使用 ILMerge 将第 3 方库合并到您自己的库中。

您可以选择从 3rd 方库内部创建公共课程。这样,您的代码的客户端将无法访问 3rd 方库中的功能(除非他们进行某种破解。例如,我不确定是否有人可以使用某种 Reflection 代码来使用内部类)。

看看this article

【讨论】:

  • 如果您通过 ILMerge 将公共的第 3 方类设为内部,您将获得更高的安全性。安全是相对的东西。您也可以obfuscate您的图书馆(与合并的第 3 方图书馆)。这将使其更加安全。其他用户甚至不会知道第三方库正在使用中。
  • 我同意你的看法。如果有人决心破解它,他会的。然而,正如我所说,安全是一个相对的事情。也许对于提出这个问题的用户(user2242746)来说,很难使用第 3 方就足够了(满足他的要求)。
  • @user2242746,你会接受什么级别的安全?
猜你喜欢
  • 2012-10-17
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多