Software engineering
RSS:
Publications
Comments

On software protection dongles

Part 1. A War between Copy Protection and Piracy

Copy protection and piracy are conflicts that fighting forever. When a new technology is introduced into copy protection, and counterpart will research the corresponding sword to it. Without a very long time, this so called “new technology” can be cracked. It is a truth in the world. It is ridiculous that saying a product is “un-crack able”, because we know everything in the world can be reversed; the only problem is efficiency and time. If we had a powerful computer (it is only an assumption), and we were smart enough (if we were lucky), then we would crack any algorithm. Maybe you think our pre-condition is not realistic, but we should be serious for this topic.




Since this war is ever taking, no fighter will stop fighting, we should explain this topic for a scientific and realistic point of view.




First of all, we can say no software is completed “un-crack able”. We have explained this topic before.




Second, for software developers or vendors, the only task they can do is to improve the software copy protection, and make it more difficult. There is a balance between software protection and piracy. If the cost of cracking overrides (or too big) the cost of software, cracking such software becomes a meaningless job; no one would like to crack it any more.




Third, from software developers’ point of view, what they are really doing is not protecting the software; the real aim is to make maximum profit. To keep the maximum profit from the software is the only and most business reason that drive the developers to protection they software. If we looking at the topic from this side, we can say “copy protection” is only a side effect that brought by the commercial aim.




In the next installment, we will present the detailed of software protection.





Part 2. An Overview on Software Copy Protection

Here, we can discuss some techniques on software copy protection.




The general purpose of software copy protection is to prevent un-authorized usage of software. So we can say any method or action to prevent un-authorized usage of software is software copy protection.




We can classify software copy protection into 3 main types.




The first one is “ software based ” . This type of protection is pure software based, and no extra meta is needed. The members in this type are typical serial number, software packer (also called shell or enveloper).





Serial number

End-users can only use the software or the full function of the software if and only if the user have a correct (or reasonable) serial number. The advantage of such protection is that it is easy and cheap. While cracking such copy protection is not a difficult job for a professional hacker. If we found the authentication code in the file, then we can reverse it and make a general cracker against it.





Packers

Packing a software is a very common method to protect software. It is easy and without any additional programming job. Developers need only several simple clicking, then the




The advantage of pure software based protection is the cost. In general it is relative cheap. While, on the other hand, the disadvantage is easy to see, or we can say the disadvantage is obvious, that it is easy to be cracked. As we said before, nothing is un-crack able, if we leave all the protection at end-users side, we open everything to the hackers, who may find way to crack your protection finally.




---------------------------------------------------------------------------------------------------------------------




|               good                      |                   bad             |




----------------------------------------------------------------------------------------------------------------------




| 1. easy                                   |  1. easy to crack                     |




| 2. cheap                                        |  2. weak license control                |




|                                         |  3. easy for piracy                    |




----------------------------------------------------------------------------------------------------------------------




The second protection method is “ On-Line License ” . You can find this kind of protection from everywhere, such like “On-Line Activation” for Windows XP, and Pro Engineering… This kind of protection needs a license server, which holds the database for licenses/activation keys. It will bring a central control for the license. You need a start/initial fees budget for on-line license, since an extra server is needed, well you also can share this server with others.




Compared with “software-based” protection, “on-line license” is better. You can enjoy the convenience of license schemes and a better security. The cost is a little bit higher, and start/initial invest is a must. This protection is good for big software vendors, who sell more than 5000 thousands copies per year and need a rough license control.





Dell latitude d620 battery