The following is from an Ask Larry article:
Let me first say to please keep in mind that the Rabbit processors do not have any internal program memory. Because of this, anyone who has physical access to your device can access the flash content. In the worst case scenario, someone can unsolder the flash from the module, put it into a flash programmer and dump the contents. Dynamic C can be used to dump the contents of the flash.
In both of the above cases the "pirate" will have a file that contains the binary contents of flash but doe not have the C source code. There is essentially no intelligence in the file and it is almost impossible for a human to read. There is no practical way to regenerate the C source code containing your algorithm from the binary.
The pirate will be able to copy the entire flash, modify whatever bytes he or she wants (with a binary editor) and write a new flash, however it is highly unlikely that he will be able to make any intelligent modifications.
The bottom line is there is no way to prevent a pirate from obtaining the contents of your program short of denying physical access. However, the content will always be essentially useless. For practical purposes, it would be easier for the pirate to break into your office and steal your computer.
Last updated: Aug 23, 2017