Thread: How to add copy protection to a software?

  1. #1
    Registered User
    Join Date
    Oct 2006
    Location
    UK/Norway
    Posts
    485

    How to add copy protection to a software?

    Hallo,

    I was wondering how copy protection is added to a software. I would like to add some form of copy protection to my program, but not sure how I should go about it.

    It does not need to be advanced(its unlikely that someone will ever make a crack for it), just enough to make it a small effort.

    Any ideas?

  2. #2
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    The PROPER way to do "copy protection" is to use a registration/license key. This usually works along the lines of a checksummed number of some sort. Some software will take some key data (MAC address, Hard Disk ID, processor model number, BIOS information, etc) and then you are only allowed to change one or two before you have to contact the supplier.

    Other forms involve having hidden information on a CD-ROM or similar, so when you install the software, it reads the hidden information, but if you just copy the CD with normal copying software, it wouldn't know that the hidden information is there, so the copy doesn't have the hidden information.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  3. #3
    Hurry Slowly vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,788
    And the most hardcore protection will use the hardware key - that should be plugged to the lpt-port, for example, for program to work.

    There are also programs requiring to connect to the license server before continue - ensuring that each license key is used only by one comp simulteneously
    All problems in computer science can be solved by another level of indirection,
    except for the problem of too many layers of indirection.
    – David J. Wheeler

  4. #4
    Reverse Engineer maxorator's Avatar
    Join Date
    Aug 2005
    Location
    Estonia
    Posts
    2,318
    Quote Originally Posted by matsp View Post
    Other forms involve having hidden information on a CD-ROM or similar, so when you install the software, it reads the hidden information, but if you just copy the CD with normal copying software, it wouldn't know that the hidden information is there, so the copy doesn't have the hidden information.
    That's why modern burning programs also copy the "unused part" of the disk...

  5. #5
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Forget about copy protection. Even Microsoft can't protect their Vista. Not even with this activation thing that everyone hates. Take the time you would spend on doing the copy protection to make your program better. People will happily pay for high quality software (I am assuming you want to sell the software... otherwise why would you want copy protection?). You will just be annoying your legit users, and pirates will still pirate your software.

  6. #6
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    I agree with cyberfish.

    People who pirate your s/w were never going to pay for it anyway (so you haven't lost any money yet).

    However, real paying customers who get ........ed off with your scheme may take their money somewhere else.

    Spend time on improving the functionality, and reducing bugs.

    Also consider things like "registration" gets you
    - the ability to print things.
    - the ability to create documents of any size.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  7. #7
    Devil's Advocate SlyMaelstrom's Avatar
    Join Date
    May 2004
    Location
    Out of scope
    Posts
    4,079
    While I hate copy protection as much as the next guy, I see absolutely no harm in a CD key and registration scheme. It might not stop pirates, but I do think there is a whole level of "legit users" that would have no moral issues with handing the CD off to a friend if there was absolutely no protection on it.

    About 6 years or so ago, there was a game released for the PC called Gothic. For whatever reason during its development, some kid caught interest in it and after a month or so, every kid in my school at the time was going to get it. Until one of the kids who bought it first day told everyone that there was no copy protection and that CD got passed around our school to at least 20 or so kids who had intentions of buying the game.

    I feel like you're breaking down people into two catagories when there is in fact three. There are the people who don't pirate, the people who do pirate no matter what, and the third being people that will pirate so long as there is no extra work involved. I've never had an issue with an application that had a CD key security... perhaps I'm just better with my CD cases than most people... so I see no reason not to put this level of security on a product just to get the people willing to fork over the cash just to avoid getting a dozen trojans on their computer looking for a key cracker.
    Sent from my iPad®

  8. #8
    Registered User
    Join Date
    Sep 2008
    Location
    Silicon Valley, California, USA
    Posts
    2

    Whitepaper: Is Anti-Piracy/DRM the Cure or Disease for PC Games?

    Below is for PC Games but much of it is also valid for software applications:

    Only customers hate DRM, pirates remove it – this is how one developer summed up the current state of software protection from piracy. In summary, the current state of anti-piracy in the PC game industry is:

    1. DRM efforts have largely failed to protect vendors’ legitimate rights because they are rapidly cracked
    2. They have contributed to destroyed customer relationships and trust by impinging, inconveniencing and even impugning honest customers
    3. Annoyed and hostile gamers publicly vent their outrage and fury on game suppliers and DRM suppliers via portals, blogs and message boards
    4. Impacting honest users tends to shift their sympathy towards the pirates rather than the developers and publishers. In effect, onerous DRM legitimizes piracy – because with pirated copies you avoid the hassles DRM imposes.

    How did technologies and efforts designed for the benefit to the industry instead become the enemies of the software business? And how do we fix it? This whitepaper draws from multiple sources across the PC Games industry to answer these questions and it can be downloaded from www.ByteShield.net .
    Last edited by TravelMan; 09-01-2008 at 12:46 PM.

  9. #9
    Registered User
    Join Date
    Oct 2006
    Location
    UK/Norway
    Posts
    485
    hmm, looks like there will be no copy protection then

  10. #10
    Registered User
    Join Date
    Sep 2008
    Location
    Silicon Valley, California, USA
    Posts
    2

    Smile

    Hej H3ro,

    Suggest you read the whitepaper before you make up your mind. It can be found here http://www.byteshield.net/byteshield...paper_0005.pdf

  11. #11
    Registered User
    Join Date
    Sep 2008
    Posts
    1

    License first

    h3ro,

    When anyone asks how to protect their code, there is always the knee jerk responses from others that I see hear "those that pirate won't pay" and "they always get cracked". Although some of this is true, the problem should be viewed as prevention. Meaning you still put a lock on your fornt door, even though a thief could pick it or kick the door in - its all about making it a bit harder for the script kiddies.

    Depending on your application and its success to date I would Integrate license management first. Do this to provide yourself a sales tool (trial ware, evals) as well as allowing your customers to know their compliant with your licensing. Dirt cheap license solutions usually provide copy protection or software protection technology (e.g. anti-debugging, code encryption, etc.), but choose the solution based on the licensing flexibility.

    Now if this is a new app and no proven track record then initially piracy could be good for you. The scene will only pirate software they see as successful or useful. This could give you a lot of exposure (again depends on the application). In this case still do licensing but hold off on protection.

  12. #12
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    CD-KEY's and hardware devices (dongles) are the only forms of copy protection that reduce piracy. In that they will entice that middle group into a purchase versus pirate. Hardcore pirates will never pay. Hardcore legit users will always pay. The middle group will make their decision based on among other things how onerous the copy protection is to use.

  13. #13
    Registered User
    Join Date
    Oct 2006
    Location
    UK/Norway
    Posts
    485
    The application I am working on is very simple and it targets people who dont tend to be software pirates(Its an animation program for kids).

    I hardly doubt that you will ever see this program floating around on a torrent site, so the kind of piracy I am aiming to stop the type SlyMaelstrom talked about, where one person simply lets everyone borrow the cd to install it.

    Is this a valid approach?
    When the user is installing, ask for for a cd-key (im not sure how they normally work, I was thinking of just adding all the numbers in the key and check if that number is within a valid range?)
    When installing, the program also writes something to the register, and every time the program starts it check to see if the value in the register is there (to stop people simply putting a usb pen into a computer that has the software installed and copy it)

  14. #14
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Well, if its just a cd key then all they have to do is give their friend the cd key too, it needs soem online verification. An easy way is to associate teh hard drive serial number with teh cd key and only let it change once every 30 days or so. For this you need to have soem authentication server program runnign all the time.

  15. #15
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    I am most inclined to agree with the idea that protection is easily something that hinders the end user. For example, if you are trying to put Windows XP back onto your machine after changing out a few components and needing to call Microsoft and having them talk to you as if you are a theif and ultimately tell you they will do nothing. Software protection usually just keeps an honest person honest, and a dishonest person on google for the next hour while they evaluate how to break into your program.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Thought I would never say this...
    By VirtualAce in forum A Brief History of Cprogramming.com
    Replies: 41
    Last Post: 07-22-2008, 03:57 PM
  2. Punkbuster / DRM / copy protection as Open Source?
    By sept in forum A Brief History of Cprogramming.com
    Replies: 30
    Last Post: 03-11-2008, 07:15 PM
  3. copy = concatenate ?
    By Arruba in forum C Programming
    Replies: 3
    Last Post: 11-03-2006, 04:54 PM
  4. copy protection for 16 bit DOS app
    By DRDOS in forum C Programming
    Replies: 2
    Last Post: 03-31-2006, 07:43 AM
  5. calling copy constructor from template
    By Ancient Dragon in forum C++ Programming
    Replies: 3
    Last Post: 09-28-2005, 01:54 PM