【发布时间】:2011-10-08 15:43:51
【问题描述】:
我使用模块化方法在 C# 中构建了一个简单的演示应用程序,因此它由一个可执行文件和几个 DLL 组成。假设我将它放在一个 zip 文件中并将其交给某人,唯一的目的是让他们只需提取文件并双击 exe 即可试用演示应用程序。
现在,据我了解,获取应用程序和 DLL 的每个人都可以在 Visual Studio 项目中添加对 DLL 的引用,然后开始使用他们拥有的任何函数/类,只要它们被声明为公共。因此,他们可以访问比我希望他们访问的更多内容。
有没有办法禁用它,并获得一个类似于 C++ DLL 的系统(例如,我可以给任何人很多 C++ DLL,如果他们使用其中的函数/类会相当困难,如果他们没有头文件)?我可以以某种方式剥离 DLL 以便它们仍然可以被 exe 使用,但不公开引用吗?或者是否有一些属性可以让我在代码中使用“这个类只能在我构建的 DLL/exe 中使用”?
【问题讨论】:
-
如果您真正的问题是“我如何通过软件保护免受黑客攻击?”,不,您不能。你唯一能做的就是让他们的生活更加艰难。查看这些技术ssware.com/articles/…