Safe Guarding Loaded Programs in Rabbits
These are notes from Rabbit Semi Conductors Chief Technical Support
I’m looking for a means to protect the code loaded into the RCM. I do not want my competitors to copy the algorithms in my source code.
That is a very good question. 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 also 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 do 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.
– Larry C.
Larry Cicchinelli was Rabbit Semiconductor’s Technical Support Manager. He has 40 years of embedded experience, and is considered one of the foremost authorities on Rabbit products. Larry and his staff offer comprehensive technical support to Rabbit customers.