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

Kir*_*ril 3 .net c# dll obfuscation

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

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

Rei*_*aka 10

我不知道这是否适合您,但您可以考虑使用WCFXml-rpcREST等将算法提供为Web服务.

当然,使用HTTPS.

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

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


Jon*_*len 7

选项1:Dotfuscator或类似产品

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

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