code protection and other protection method.

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 5.
To post in this forum you must have a registered copy of Flowcode 5 or higher.

Moderator: Benj

Post Reply
asbase
Posts: 20
Joined: Sun Jun 03, 2012 12:53 pm
Location: Malaysia
Has thanked: 13 times
Contact:

code protection and other protection method.

Post by asbase »

Pleased advice for protection control from illegal use.

Using:
1. Code protection bit?
2. Using dallas one wire laser print serial number?
3. Eeprom data verification.
4. .....

Please advice the best and safety protection way from being crack and used.

Thanks.

User avatar
Enamul
Posts: 1772
Joined: Mon Mar 05, 2012 11:34 pm
Location: Nottingham, UK
Has thanked: 271 times
Been thanked: 814 times
Contact:

Re: code protection and other protection method.

Post by Enamul »

Hi,
Can you please mention which PIC you want to use? It also depends on the programmer you are using..
For EB006, I am attaching here an example of Code Protect (CP)...for PIC16f877a.
If you enable code protect, you code is protected from any kind of hacking..
Attachments
cp.png
(67.92 KiB) Downloaded 3073 times
Enamul
University of Nottingham
enamul4mm@gmail.com

asbase
Posts: 20
Joined: Sun Jun 03, 2012 12:53 pm
Location: Malaysia
Has thanked: 13 times
Contact:

Re: code protection and other protection method.

Post by asbase »

Preciously I do developed a system using pic16f877a in 2005. The software store in pic16f877a with code protection bit on being cracked and read out in China. They managed to rebuilt all the system and resell it in the market. I looking for a more secure way to protect the software.

User avatar
Enamul
Posts: 1772
Joined: Mon Mar 05, 2012 11:34 pm
Location: Nottingham, UK
Has thanked: 271 times
Been thanked: 814 times
Contact:

Re: code protection and other protection method.

Post by Enamul »

Hi,
I have never faced this kind of situation but heard from friends about china. Generally the chip should not be readable if code protected..even I have tried that. There might be some trick then..I will search for that..will let you know if I come across anything.
Enamul
University of Nottingham
enamul4mm@gmail.com

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: code protection and other protection method.

Post by Benj »

This thread on the EDA forums looks interesting.
http://www.edaboard.com/thread134604.html

As does this page.
http://www.cl.cam.ac.uk/~sps32/mcu_lock.html

I think just about any kind of protection is breakable if you have the know how, the skill set and the patience, it just depends on how much effort someone is willing to spend to try get hold of your code.

User avatar
Enamul
Posts: 1772
Joined: Mon Mar 05, 2012 11:34 pm
Location: Nottingham, UK
Has thanked: 271 times
Been thanked: 814 times
Contact:

Re: code protection and other protection method.

Post by Enamul »

Cool Ben..Need to try..I have access to Electron microscope.. :mrgreen:
Enamul
University of Nottingham
enamul4mm@gmail.com

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Re: code protection and other protection method.

Post by Benj »

One suggestion is to enable code protection, program your device and then destroy one of the programming pins by removing as much of it from the device as you can. By peeling back some of the plastic it would be possible to gain access to the programming pin trace again so this is not a 100% solution but it makes things a lot more fiddly and difficult.

I have seen Nintendo Wii's that have done this to some of the hackable ICs in the box in an effort to prevent piracy. Annoying to do in a production run though. One option may be to use something like a dremmel with a grinder attachment to remove one or both programming pins from the IC.

One user says rather then removing pins you can simply blow out the programming pin(s) by doing this.
I've had success by "blowing" the data pin out on PICs. Example: a 12C508. Ground every pin but pin 7, then put 10VDC on pin 7 for a second. Bond wire fried. You lose the use of pin 7 forever, but as it is the data I/O pin for programming, considerably hampers reading the rom save for those who can desurface the chip package and probe the die.

Not strictly recommended for commercial apps, but I've never lost a PIC to this procedure yet.
Another option is to encase the IC in epoxy or sanding off the name of the IC so would be hackers cannot simply go and look up how to crack that specific IC.

A combination of all 3 methods would make things very difficult but would most likely significantly add to manufacturing time.

Using a one wire laser printed serial number is another way to help protect your code but with this you have to change your firmware for every device you make and ensure it is matched to the right serial number. I don't think it would be too hard to find and remove a section of code that checked for the serial number anyway so this really doesn't solve any of the problems.

Here is the official word on the matter from Microchip.
http://www.microchip.com/stellent/idcpl ... nodeId=304

As far as piracy of products is concerned a patent is the only thing that gives you any comeback on someone else pirating and reselling your product. China does not seem to pay any attention to patents and so there is not really a lot that can be done. One thing you can do is to stop them selling outside of China or they are breaking international copyright. I basically think you need bucket loads of money and lots of lawyers if you really want to guarantee the protection of your IP. Also I may be wrong but I don't think you can ever patent a piece of software.

ncc1502
Posts: 48
Joined: Mon Apr 07, 2008 9:18 pm
Has thanked: 23 times
Been thanked: 8 times
Contact:

Re: code protection and other protection method.

Post by ncc1502 »

Removing pins is not a good method.
I have had eeproms with pins broken of at the casing, simply using a soldering iron and some solder was enough to create a temporary pin to read the chip in a programmer.

Blowing a programming pin with high voltage would be an option but i would not take the risk in a commercial product to get massive callbacks because of premature failing chips.

Sanding of chip designation is an easy way to protect your product a bit better, but make sure it is done properly otherwise comparing the remains on several chips will get the desired info. Also sand multiple (or all) chips, so your design can not be copied by only cracking your processor. If the schematic of your pcb is unknown this makes copying your design also more difficult.
Better safe then sorry

Post Reply