You could just kill the lock/protect bits and read it out via the standard JTAG/in-system programming protocol. But detecting the charge in the flash ROM with an e-beam is also an option.
Here's an interesting site which describes the process in detail.
http://www.cl.cam.ac.uk/~sps32/mcu_lock.htmlYou could also use a UV laser.
why should I make my design "ugly" ? in electronics terms that would mean making it more complictaed than need be and poorly performing, that costs me more
i mean, so cloner will not be interested at it. yeah, a complicated design can means "ugly" as well. and about this cloning, i think only successful product will worth cloning. so if you have sold so many of your products, then pirate will start to give attention to your product. and from there, you will do more on making your design "ugly". just like what rigol did to their latest firmware.
Don't you miss the days when 'scope manufacturers used to provide service manuals, complete with a schematic and a parts list?
I hope someone writes some open source firmware for the Rigol, that way all you do is buy a cheap Rigol, load the new firmware on to it which gives you all sorts of features you can't buy from a top of the range Rigol 'scope.
anybody intent on stealing your code
Nonsense, they're not stolen anything. Just because someone breaks the copy protection you still have the code. The only way of stealing it from you is to break into your computer and remove all copies of your hard drive.
Also don't forget when they look at the code inside the PIC, all they see is a load of assembler, no labels, comments, C source code, nothing.