Securing my code?

Hey guys.

My previous experience is with Microchip and Atmel micros, programming exclusively in c. But on a recent project I decided to give netmf a try, (I needed a touch display and dynamic user interface) And I must admit that development was way faster than expected.

My delivery date is nearing and my prototype is all done and working. But now I am was wondering if there is a way to read protect my code? – I have googled trying to get an answer, but havent found anything. So maybe Im missing something? I mean on the micros I normally work on, I have to configure this myseof via fuses.
But on these TinyCLR devices?

So my question is this: Do I have to manually do something to read protect the program area?

Thanks in advance.
Barnstomer

Our premium offers include such feature. You didn’t tell us what device you are using.

If you are working with .NET you cant protect your code,
although you can set the hurdle to get your code higher, it is still not possible.

There are several ways of obfuscation (Obfuscation (software) - Wikipedia),
but these just make it harder to read, but you cannot protect your code perfectly.

The Why you can check out here .NET Framework - Wikipedia
Its the second point.

But you also have to think that some has to steal your device to get to your code,
is this a common scenario for your working environment?

If not I would use .NET regardless of those security issues (in my opinion these arent issues)

As Gus said, the Cerberus and Hydra can’t protect code, but the EMX/Cobra/Panda/Domino/Chipworks boards CAN protect your code.

what about using MFDeploy to sign the code wouldn’t that protect the board and the code from being replaced?

Thanks for a fast reply!

Im currently using a Spider kit for the prototype. And if this thing goes live, it will probably be an EMX module on a custom board and only in low quantity production. But most of that is still undecided, and as usual it all depends on how well the prototype is received.

For now I just want to make sure that the guys evaluating my prototype doesnt decide to make their own version, with my software on it…

I already have 2 other micros in the design, for real-time tasks, which I have locked. So its not that big a deal.
I was merely wondering if it was possible to do the same with the netmf part?

I can’t remember the exact details, but look in the EMX user manual. You must get into the bootloader, then there is a command to prevent readout.

Edit:
Ahh, sorry, I think the bootloader protection is on the USBizi chips.

The EMX Manual says:

[quote]9.19. Managed Application Protection

Using the EMX library you can disable reading the deployed application on EMX. This is
useful if you need to protect your managed application against copying, tampering or
disassembling.
Although extensive testing is done on this feature, GHI cannot guarantee or be held
responsible for the possibility of hacking or bypassing protection.
This is available through GHI’s NETMF library.[/quote]

Yeah, I just read that in another post on the forum - shame on me for not digging further or even reading the manual, before posting questions. :wink:

But thanks for all your help, it should get me on my way. :slight_smile:

Have you seen my post on securing HEX files?
http://www.tinyclr.com/forum/topic?id=7876