Russell Nelson wrote:
nobo...@web.de writes:
 > But for microcontroller it dorsn't make sense to release the object
 > files or am i wrong?
Why wouldn't it?

The availability of code protection on microcontrollers has led to a slightly odd situation where companies are happy to distribute the object files of PC based software and don't worry too much about embedded systems with firmware stored on flash chips external to the processor, but are scared to death of the firmware for their code-protected microcontrollers leaking out.

AFAIK any code protected microcontroller can be cracked for a price if you know who to go to, but it does at least increase the cost of copying your firmware (possibly to such a level that it's cheaper to rewrite the software from scratch). Unfortunately it's a double edged sword- if you suspect a competitor of copying your firmware but can't prove it and they have also used the copy-protection feature, you'll have to pay the very same microcontroller cracking companies to get the object files out so that you can compare them to your own.

There are a couple of alternate possibilities for finding out if your firmware is in a competitor's product without paying an arm and a leg to get the firmware extracted from it: * Make your firmware behave in an idiosyncratic way which your competitors' products would be very unlikely to exactly reproduce by accident. * Hide 'easter eggs' in your firmware. eg. pressing the front panel buttons in a certain way makes it blink your copyright notice on an LED in morse code.

Of course they don't help if you're worried not so much about your firmware being directly copied but about your competitors reverse engineering your algorithms and reusing them in their own firmware. There's not really anything you can do to stop that from happening, but using code-protect could increase their costs and time to market somewhat, as could intentionally obfuscating the way your program works to make it harder for them to reverse engineer it (which has the disadvantage of decreasing maintainability and increasing the likelihood of introducing bugs).

--
------------ Alex Holden - http://www.linuxhacker.org ------------
If it doesn't work, you're not hitting it with a big enough hammer

Reply via email to