.NET“私有”应用程序

时间:2010-09-23 17:51:54

标签: .net reference private friend

我创建一个.NET(WPF)应用程序,并将其编译为.EXE。然后我创建了第二个项目,并添加了对已编译的.exe的引用,我可以看到所有的类和表单,并可以将它们用于自动化等。

我想阻止其他人使用我编译的.exe作为.dll,所以我将所有类改为'Friend'而不是'Public',但这对于(wpf)表单不起作用。每次我创建一个新课程时,我都必须记得把它改成'朋友'。

那么,有没有更好的解决方案来阻止您的应用程序用作DLL?

更新:我知道.NET很容易被分解,并且访问修饰符可以被确定的“破解者”修改。但我只是想让它变得更难,而不仅仅是添加一个参考。

也许我应该以不同的方式陈述我的问题:如何在我的项目“朋友”中制作所有表格/类,而不是为每个项目指定。

2 个答案:

答案 0 :(得分:3)

最终你无能为力;反射将让你绕过你做的任何访问声明。

您可能会对代码进行模糊处理,以使其更难以理解并因此使用,但它无法防止确定的入侵。

答案 1 :(得分:2)

执行此操作的最佳方法是在最终用户许可协议中说明不允许这样做。

将班级更改为朋友不会阻止有人使用它,如果他们真的想要。他们所要做的就是修改DLL以使类公开并且您的保护系统失败。