Question

I'm working on a piece of software I would like to sell eventually. Right now I'm fine with sharing it with people that are interested in playing with it and testing it, perhaps on a web page as an alpha version. But I don't want people to steal my code. Will a code obfuscator do the job? Should I also copyright it or stuff like that? I really have no idea where to start, so any help will help.

Was it helpful?

Solution

If your program is compiled as managed executable (such as .net), you might want to obfuscate it if you don't want people poking on your code. If you worry so much about people stealing your code, why not release the alpha testing as invitation only (people request invitation by leaving comment, name, email, phone number, address and so on and you decide whether to allow them or not). That way you know who download your program and it would be easier to track its usage.

Edit: I found a great article about software licensing here, you might want to read them too.

OTHER TIPS

If you publish just your executable, the only thing that could be done is reverse engineer it.

To answer your 2 questions, which are specifically about stealing source code:

  • An obfuscator will make it harder for somebody to reverse-engineer (and then steal) your source code. There is a trade-off in that obfuscation has a significant testing burden, and also mess with the stack trace for an unhandled exception.
  • Copyrighting the binary won't do anything to stop somebody stealing your source. Depending on the country that you use for your software licensing, copyrighting the binary may help you with attacks that aren't aimed at your source code.

If you're using a managed language such as C# or Java, you can use a packer such as Themida or the free MPress to pack your executable into an encrypted wrapper application. This will slow down attackers using tools like .NET Reflector, and IMO is a more maintainable approach than using obfuscation.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top