Can you reverse compile code from arduino boards?

If all someone wants to do is build copies of your product, they do not need to decompile the code. The code read from one arduino can be directly written to another.

As a practical matter, if you have a product that is successful enough to make it worth the effort, someone will make a similar or identical product, regardless of whether they try to decompile your original code, or just write the code from scratch themselves.