Best Way to protect a program from copying.

Discussion in 'Mac Programming' started by danno66, Apr 24, 2010.

  1. danno66 macrumors newbie

    Joined:
    Apr 24, 2010
    #1
    Hey All,

    I have a program that is starting to sell and am having issues with using the old key gen and user name. Due to the industry I fear some guys may start just using the name and key and so on and so on.
    Is there any new key copy protection for Mac?
    OR
    Should I go about it another way? After a customer pays the fee I send the program. But would be any way to prevent the person from copying to another computer?

    THanks in advance.

    Dan
     
  2. jared_kipe macrumors 68030

    jared_kipe

    Joined:
    Dec 8, 2003
    Location:
    Seattle
    #2
    Umm there really isn't a way to keep someone from "copying" a program.

    Your only real option is some kind of activation.
     
  3. lloyddean macrumors 6502a

    Joined:
    May 10, 2009
    Location:
    Des Moines, WA
    #3
    First of all there is nothing you can do against a skilled and determined programmer hacker. If you're just wishing to deter that "average" user you can have the program phone home and verify the credentials against a database and disable as appropriate. I personally HATE this method as it require an internet connection in order to run the program at all.

    Another method (perhaps for times gone by if the product is downloaded) is to tie the program to the presence of the non writable media on which it was distributed.

    More information concerning your product and distribution method would be useful in giving useable suggestions.
     
  4. Sander macrumors 6502

    Joined:
    Apr 24, 2008
    #4
    The more you do which would annoy the "legitimate user", the sooner you will see your program cracked.

    In my observation, the freeloaders/pirates/crackers usually have interesting philosophical arguments to justify their behavior by pointing out "wrongdoings" in the application. Phoning home would probably be a golden excuse. Requiring the physical media to be present is a silver one.

    Note that the argument almost never goes "Program X does Y which is evil (in my opinion) so I use program Z instead", it's usually "... so I use a cracked copy of X instead."

    Sometimes, there's even something to be said for this way of thinking. If your program really needs the media present or an active internet connection, I'd probably be annoyed too. Compare with the infamous "you are forbidden to skip this commercial" in DVDs which goes a long way into justifying obtaining an illegal version with that "feature" removed.

    The major problem is that on the bottom of the justification list, there's the "wildcard entry" which says "the corporate capitalist pigs are making money off this app, which we can't allow." There is no way around this. As we all know, every programmer lives in a marble villa surrounded by slaves, not really doing any work. Stick it to the man!
     
  5. cricketbird macrumors member

    Joined:
    Feb 17, 2008
    #5
    As others mentioned here, your biggest problem is legit users passing it along to their friends or posting it on the internet. Hackers will break in no matter what if they really want to, and draconian licensing processes only make it more likely that they will do so.

    If you already have a username/key setup, then the main problem becomes people distributing the keys, not the program itself per se (do you really object if someone installs it on several of their OWN macs? probably not).

    You might consider making the username/key combo something that incorporates the user's email address or real name into the username. That would deter most legit users from distributing the code widely because of privacy concerns, and make them feel like you COULD track them down if you found a particular combo had escaped onto the web as well. Obviously make sure your EULA specifies that distributing to others is against the rules so that you COULD back up your claim if you really wanted to.

    I don't object to the "calling home" style of activation ONCE at the time of installation but agree that that would be the death knell for a program that did so at every runtime. But, be sure that your target market/audience is the sort that would likely have the internet at least intermittently available during the installation process. The world is getting more wired, but not all people everywhere have regular access. If your program is distributed on physical media, make sure people without internet have an alternate method to legitimately install it.
     
  6. hamlinspahn macrumors regular

    Joined:
    Apr 9, 2010
    Location:
    Oklahoma City
    #6
    Copy Protection

    I've used MAC address checking with a unique key, and USB bit locks. The MAC address lock is more user friendly however.
     
  7. gnasher729 macrumors P6

    gnasher729

    Joined:
    Nov 25, 2005
    #7
    Really goes down well when a computer is repaired and gets a new motherboard. :(
     
  8. hamlinspahn macrumors regular

    Joined:
    Apr 9, 2010
    Location:
    Oklahoma City
    #8
    Customer Support

    You do have to offer some support for such issues but it works quite well.
     
  9. xStep macrumors 68000

    Joined:
    Jan 28, 2003
    Location:
    Less lost in L.A.
    #9
    LOL! I've got a lot of catching up to do. :eek:
     
  10. Sander macrumors 6502

    Joined:
    Apr 24, 2008
    #10
    The trick is limiting your spending. I never buy tickets for entertainment (movies are showing anyway and orchestras are playing anyway, so they don't really lose anything if I just sit there and enjoy the fruits of their labor, so it's not "stealing".).

    Similar with transportation. I just climb aboard anyone's car who is driving to where I happen to need to go. Since he's driving there anyway, he's not really losing anything physical by taking me along (so it's not "stealing"). The extra mass he needs to transport is approximately 5% of the total mass of his car, which I round down to zero so I really don't see why I would need to pay anything. Besides, cars are really bad for the environment so I rather not promote pollution by paying for them.

    Before I had my marble villa, I used to break in other people's homes to sleep. I didn't take anything of course (that'd be stealing!) but since they're heating their homes anyway, I'd never be cold. Well actually I would look in their fridges for food, but only eat the things I wouldn't have bought myself anyway (such as meat from non-biological farms, since I don't approve of the way those are treating the animals).

    Cheers!
     
  11. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #11
    Frankly the amount of time and money it costs to combat piracy is money down the drain. You'll lose no matter what you do. If you get really clever you'll attract the more "high brow" crackers who do it for a challenge and the bragging rights.

    Spend the time on features to attract more legitimate users. This is one area I think Apple have a decent outlook. Mac OS X, iWork and iLife are pretty much free of any such (obvious) protection schemes. I assume they have just taken the view that there is no point throwing good money after bad.

    If you really want to protect your work then give the program away for free and make the actual service subscription based (yearly works). That way no one will share their details for fear of their credit card details becoming widely known. You could always do it as web app too which offers similar advantages.
     
  12. notjustjay macrumors 603

    notjustjay

    Joined:
    Sep 19, 2003
    Location:
    Canada, eh?
    #12
    Maybe I'm old fashioned, but I honestly think that if your app does something really well, and is so well made that it is a joy to use, and the price is reasonable, people will pay.

    Sure, you'll always get the dishonest ones that will steal it, but I think a well-done, "fun" app will get more people voluntarily purchasing a license. I know I've seen a variety of apps come and go on my hard drive, and my attitude about paying for the software varies anywhere from "Pfff, I'm not paying a dime for this, where can I download a crack?" to "Wow, this is amazing! And the guy's only asking $20? SOLD!"

    I do like the idea of having your name appear in the license or as part of the license key itself ("Registered to Joe Blow, license number JBLOW-123-456"). Makes people think twice a bit about sending it out, and if you receive a registration payment for someone who enters their name as "---== tHe BlAdEz ==---" then you have some reason to get a bit suspicious :p
     
  13. jared_kipe macrumors 68030

    jared_kipe

    Joined:
    Dec 8, 2003
    Location:
    Seattle
    #13
    Yet, Aperture, OSXServer, the Logics, the Final Cuts, Quicktime Pro, and Remote Desktop are all supported by license codes.

    I agree that the best way is to use their email address as part of the registration procedure, even if it doesn't dial home you could use this to disable a specific email address or code in a later release if you find that a torrent of your product or serialbox has this code/email address in it.

    It probably would take all of 5 minutes every time you're going to release a new version to check for any "leaked" serials and hardcode them in some kind of banned list.
     
  14. Cromulent macrumors 603

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #14
    Logic used to require a dongle to work. Apple removed that protection scheme.

    As far as protective measures go a simple license code is the least imposing of all and by far the cheapest method to implement.

    None of them include any personally identifiable information in the license code either (at least my copy of FCS and Logic Studio didn't). I'd hardly call the protection schemes that Apple do use in the same line as companies like Microsoft and Adobe.

    Apple know that people pirate FCS and Logic Studio regularly. In fact I imagine they are amongst the most pirated Mac OS X applications. Yet that did not stop them from removing the dongle requirement.

    Calling it 'protection' is a gross misnomer anyway. All it really is is a deterrent.
     
  15. notjustjay macrumors 603

    notjustjay

    Joined:
    Sep 19, 2003
    Location:
    Canada, eh?
    #15
    Of course, Apple is in the unique position of having a monopoly on machines that are capable of running FCS and Logic. This may also be the reason why OS X has not been given the "activation" treatment as well.
     
  16. jared_kipe macrumors 68030

    jared_kipe

    Joined:
    Dec 8, 2003
    Location:
    Seattle
    #16
    I'm aware of the usb dongle that Apple used to implement. Apple still disables serial numbers on updates.

    The including emails is a deterrent. Normal users would not allow their email address to become public information if it is necessary for a code to work. And you provide the key to the email address through the web sales form, so it also makes fraud more difficult.

    I am not suggesting in any way that anyone implement a "calls home" approach, but email address + license code is probably the best balance of deterrence and usability.
     
  17. Sparky9292 macrumors 6502a

    Joined:
    Aug 1, 2004
    #17
    Take a look at Mac Serials Junkie. I just gave up worrying and spending any time fighting piracy. If someone pirates my app, then I simply write it off as free advertising.

    I just don't think people earning over $50,000 a year (my target) are bothering to deal with cracks and such. It's mostly teenagers with no money.
     

Share This Page