.NET的.NET混淆:我如何保护我的代码?

时间:2010-08-06 00:29:54

标签: c# .net dll obfuscation

我正在与一家小公司探讨合作关系。该公司正在寻找一种可以提高利润的算法,我有一些原型软件可以帮助他们。我的软件的核心是非常机密的,如果公司掌握它,那么他们肯定不需要我。我肯定会和他们签订合同,我会得到法律保护,但我仍然希望尽可能多地保护他们和我的“商业秘密”。

我可能必须与他们的开发人员密切合作,以自动化我的算法并将其集成到他们的系统中,但我想在DLL中提供核心功能,以便我可以保护我的“商业秘密”,但仍然有能力与开发人员合作。鉴于我的情况,混淆是否值得?还有其他合理的选择吗?

3 个答案:

答案 0 :(得分:9)

我不知道这是否适合您,但您可以考虑使用WCFXml-rpcREST或其他方式将该算法提供为网络服务。

当然是HTTPS

这样他们就可以使用算法,但他们永远无法获得你的代码。

只要算法不需要太多往返或大量数据被传输,就应该可以工作。也就是说,只要该算法不需要实时使用且响应度<&lt; 100ms左右。

答案 1 :(得分:7)

选项1:Dotfuscator或类似产品

http://www.preemptive.com/products/dotfuscator/overview

选项2:对商业秘密所涵盖的部分使用C或C ++。

答案 2 :(得分:3)

混淆会让您更加了解IP保护。检查这个免费工具,它可能是一个很好的起点http://www.ntcore.com/phoenix.php

我认为真正保护您的知识产权的是合同和法律。确保在参与开始时明确定义,并制定协议以保护您的利益。