Going commercial....

I have a big company that's buying my project. Currently were still in some tweaking fazes of my software.

I have two questions.

  1. Is there a way to easily encrypt the code that goes to the chip so that way it can't be reversed engineered?

  2. I need to be able to send updates to the company. But I don't want them to see all of my code. Is there way to send them an encrypted file that they can just upload to arduino?

Thanks for any help or ideas!!! Dan

  1. No! It is all about the effort required. You can make it difficult, so difficult that the number of man-hours needed will cost more than the product (simply buying the source code). They could get access to your code with more traditional industrial spying techniques (i.e. brake in and steal it :-).

  2. Why not just send the hex file? If you are using some level of compiler optimization (such as link-time-optimization) it is actually really difficult to try to reversed engineer the code to something on C/C++ level. You could make it difficult by encrypting all strings and static data so that they are not readable. This costs run-time processing but makes it difficult to find entry points. Remember the hex file does not contain any source code symbols if you have not compiled in any.


Or to sign an NDA.. :)

kowalski: 2. Why not just send the hex file?

Awesome! this is exactly what I was looking for! I knew had to cash a compiled file before uploading it. I found an app called xLoader that they can use to load it.

pito: Or to sign an NDA.. :)

I have this and a contract.. I have personal story of not enough money to fight a company over them breaking an NDA. They are smart to have, but they can only save the day if you have the means.