Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NET obfuscation of a DLL: how can I protect my code?

I'm in the process of exploring a partnership with a small company. The company is looking for an algorithm that can improve their profits and I have some prototype software that can help them. The core of my software is very confidential and if the company gets a hold of it, then they will certainly not need me. I'm definitely going to sign a contract with them and I will have legal protection, but I still want to put as many protective layers between them and my "trade secret" as possible.

I might have to work close with their developers to automate my algorithm and integrate it in their system, but I want to offer the core functionality in a DLL so I can protect my "trade secret", yet still have the ability to work with their developers. Is obfuscation worth it given my situation? Are there other reasonable alternatives?

like image 636
Kiril Avatar asked Dec 01 '22 10:12

Kiril


2 Answers

I don't know if this is an option for you, but you might consider providing the algorithm as a web service using WCF or Xml-rpc or REST or something.

With HTTPS, of course.

That way they can use the algorithm, but they can never get at your code.

Should work as long as the algorithm doesn't require too many round trips or huge amounts of data being transfered. Which is to say, as long as the algorithm doesn't need to be used in real time with a responsiveness of < 100ms or so.

like image 139
Rei Miyasaka Avatar answered Dec 09 '22 14:12

Rei Miyasaka


Option 1: Dotfuscator or a similar product

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

Option 2: Use C or C++ for the sections covered by trade secrets.

like image 32
Jonathan Allen Avatar answered Dec 09 '22 14:12

Jonathan Allen