About reading code from locked device

Go To Last Post
11 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi there,

I am aware about the protection available in AVR chips.
My question is a bit different. Let's say if I make a product and give it for trial to a client. The software is locked alright.

The client will not be able to read the code. But is there a way available(or which can be implemented) by which I can know that HE ATTEMPTED TO READ IT??

Thanks for reading !

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you are just providing ONE unit of your product, just put a seal on the case. The customer returns the unit. If the seal is broken, you know she has attempted to examine the goods.

If you don't get the unit(s) back, you don't know what she might have done.

Be realistic. If it is not worth your customer's time and effort, why would she steal your code?

Seriously, the lockbits are good enough for the average product.

OTOH, there is a lot of paranoia out there!

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can't tell if they attempted it, unless they try invasive physical means (de-capping the die). As David says, just seal it up and say if the seal is broken the deal is off, if you're worried.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But to answer the technical question, no, short of putting a bugging video camera into the box somewhere you have no way of knowing.

Of course for him to read he needs to access ISP or JTAG pins so if you could somehow make access to those tricky (hot melt glue gun?) it might be obvious if someone had physically tried to remove such protection to get to the pins.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

put it inside a jack-in-the-box can

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks a lot guys for your opinions

I was thinking more of technical software stuff. As in if I can implement something in the software whether some bits go on or off or something while/ before entering in programming mode.

I ll go thru the datasheet to learn how it works just for knowledge

Anyways, it was a long shot. Seal looks a good external option.

:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well...

If you don't use all of the ISP and JTAG pins for the main project, your could add a second micro, (A Tiny, for example), that monitors the a couple of ISP and JTAG pins and increments an EEPROM counter if the pins are exercised.

When the device is returned you upload the EEPROM and see the results.

JC

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Use one of those tiny 85's for that and nobody would notice the extra tiny part.

If you don't know my whole story, keep your mouth shut.

If you know my whole story, you're an accomplice. Keep your mouth shut. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Excellent ! Thanks

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JC,

That's a brilliant way to do it. Thanks for sharing.

Sid

Life... is a state of mind

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

use a t10 as a reset controller, that just happens to have a logging mechanism as well ;)

Writing code is like having sex.... make one little mistake, and you're supporting it for life.