0

我有一个共享的 .Net DLL,由一些应用程序和一个可公开使用的 API 使用。我计划分发 API DLL,但由于链接也必须分发共享 dll。

防止使用不必要的类和数据的最佳选择是什么?

将共享 dll 中的所有内容声明为 API 中未使用的内部内容?

创建一个包含 API 和其他项目之间的所有共享项的新 DLL?

编辑:所有东西都是用 C# 创建的。我也最感兴趣的是向用户展示一个漂亮友好的 API。我的理解是,无论我做什么,用户总是可以使用反射器来查看它。

4

2 回答 2

2

你没有提到你将使用什么语言。如果它是一个托管程序集,那么它的内容比您所要求的要多得多。

只需尝试将代码隐藏在内部方法或私有代码后面,就可以始终反编译。所以这是你必须处理的第一件事。您必须混淆该代码,以便无法理解被反编译的内容。

您可以锁定 dll,但这很难完成,并且取决于您的实施情况,它可能根本没有帮助。

我在 RedGate 购买之前使用过这个产品,它很棒。它击败了我的代码,这些代码是从网络上的随机帖子中挑选出来的。但这可能是您想要使用的东西。

http://www.red-gate.com/products/dotnet-development/smartassembly/

于 2011-02-16T18:08:56.780 回答
0

安全机制决策基于资源的重要性。仅仅因为通常方法越安全,性能面板就越多。

于 2011-02-16T18:05:24.420 回答