Pages: [1]   Go Down
Author Topic: Reading Code From a Chip  (Read 2511 times)
0 Members and 1 Guest are viewing this topic.
Ontario, Ohio
Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

After reading some of the forums here concerning licenses, copyrights, etc., I'm a little confused. If one wished to make a commercial project using the ATmega 328 or any other Arduino compatible chip and didn't wish to have your project ripped off, can't you just not share the code? I know it's more complicated than that. I guess my question is: Can someone with the right equipment read and/or reproduce your code if they have your programmed chip in hand?
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 201
Posts: 8695
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It depends on how the protection fuses are set.  You can set the fuses to prevent the FLASH memory from being read.  If you do that it is still possible to get at the code but it will take a lot of reverse engineering resources (decapping, electron microscope, etc).

Of course if they get the binary code it will still be a fairly long process to turn that back into source code if they want to make significant changes.
Logged

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

Ontario, Ohio
Offline Offline
Full Member
***
Karma: 1
Posts: 208
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm not sure what you mean by protection fuses. Sounds interesting, though.  I think at one time in my schooling I learned that with PIC chips, etc. there is equipment that can read the machine code produced by the C or PIC Basic Pro compiler. Anyway, my project isn't a time machine or lotto number picker so I'm sure I'm safe hahaha.
« Last Edit: June 02, 2012, 11:55:54 pm by TeslaIaint » Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 524
Posts: 26438
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You need to do some reading of Section 28 of the ATMega328 data sheet.
"Program and Memory Data Lock Bits"

LB Mode 3:  Further programming and Verifcation of the Flash and EEPROM is disabled in Parallel and Serial Programming modes.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3470
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

However you must be aware that setting the fuses will just incease the cost for reverse engineering. It does not prevent reengineering. It does not even prevent fast reengineering. It will only increase the cost for reengineering.
Logged

Check out my experiments http://blog.blinkenlight.net

Pages: [1]   Go Up
Jump to: