将许可证添加到.Net Web应用程序

时间:2009-01-06 10:43:24

标签: .net asp.net obfuscation

我目前正在寻找一些可以保护我的.net网络应用程序源代码的许可类型软件。想知道你们是否对此有过任何经验,并且知道是否有任何提供此类工具的公司或来源?

所以我的主要目的是保护实际文件

即Default.aspx Default.aspx.cs .... 将来被复制而我无法阻止他们使用它。

由于

编辑:从阅读回复中我似乎认为混淆器似乎是要走的路。 混淆器程序是仅在exe或dll上运行还是在单个页面上运行?

7 个答案:

答案 0 :(得分:1)

您可以做的一步是将其作为Web应用程序而不是网站发布。

Differences here from asp.net

就Default.aspx而言,我不知道如何加密通过标准Web服务器提供的html页面,无论哪种方式,客户端仍然可以查看源代码,除非你写的JavaScript中的整个页面写入(管理起来很糟糕)。

最好的办法是不要在aspx中包含任何应用程序逻辑代码,并使用obfusicator编译二进制文件。

答案 1 :(得分:1)

我想知道一个简单的预编译是否能在你的ASP.NET应用程序中完成这个技巧,我们在公司这里做。我们预先编译了我们的Web模块,没有人会看到aspx代码中的内容,所有“代码隐藏”文件都被翻译成DLL了。

see more here

答案 2 :(得分:1)

我不打扰混淆:最新的 syntax-sugar ,.Net 3.5中的编译时技巧和优化使得简单的逆向工程变得非常困难。

例如,每次使用yield关键字时,它都会生成一个具有复杂结构和不可读名称的枚举类。

混淆将使逆向工程更难,但不够。要么用reflector的副本来阻止基本黑客,也不会阻止或阻止坚定的专家破解者。

我会对你的所有装配进行钥匙签名 - 然后如果他们倒退,他们就必须全部撤销。

我会从Web项目中获取尽可能多的实际应用程序逻辑并引用引用的DLL - 您的Web项目应该完全是关于UI的。这样可以更容易地对底层逻辑进行单元测试,如果您认为它值得,则更容易混淆。

答案 3 :(得分:0)

您的网站可以向您发送每个用户登录时的一些服务器计算机信息。 如果机器信息错误,请取消登录。

答案 4 :(得分:0)

我想知道除了混淆器或预编译之外是否还有其他方法可以保护您的酸性代码。

即你有一个页面列表 Default.aspx的 Default.aspx.cs 的web.config

您的主要目的是阻止第三方获取代码,如果他们有权访问源代码?

答案 5 :(得分:0)

除非你以某种方式对它进行模糊处理,因此它比它的价值更加努力,或者你预先编译我看不出你怎么能阻止它们只是隔离许可证检查代码 - 并将其删除。

你可以在源代码上运行混淆器并分发混淆版本,这里有很多例子,特别是对于javascript。

答案 6 :(得分:0)

我认为你在这里混合了两件不同的东西。一个是法律保护(这是许可证的用途),另一个是物理保护。如果每个人都遵守法律,那么就不需要实物保护。

我建议您选择适合您的许可证(其中有许多),然后以任何方式处理实物保护。