Skip to main content
GameDev.net gamedev.net
🔒 Locked

Serial Code or ?

Started by Computercodemonkey Aug 24, 2011 at 8:05 PM 9 replies 1.9k views
Original Post
Computercodemonkey
Computercodemonkey
Ok in my upcomming commercial product im thinking of using serial codes for an anti piracy method

so my question is serial code or ????

more questions for Serial codes is if i do go with it
whats a secure method of generation?
how many digits = secure and how much more secure is each extra digit
ApochPiQ
ApochPiQ
Serial codes are not magic. They do not inherently make your product hard to pirate. For 99% of the implementations of serial codes out there, it makes no difference if you have 1 digit or 5000 - any half-asleep borderline incompetent reverse engineer could crack your program in under an hour.

You need to seriously consider how much effort it is worth for you to invest in this. Returns on investment for anti-piracy solutions are not linear, in fact they are barely even logarithmic in most cases. In other words, you will not get 10 times as many sales by investing 10 times as much effort. Much of the time, you might get 1 extra sale for thousands of hours of effort - very literally.

Unless your product sells millions of copies, or sells at millions of dollars per copy, chances are any kind of sophisticated DRM is a complete waste of time. I would personally argue that any DRM at all is a waste of time, and mostly just annoys people who wanted to give you money; but if you're dead set on copy protection, we at least need to know how much time and money you have to invest in doing it.
Computercodemonkey
Computercodemonkey
just enough to make people feel its worth buying because i know that pirates will pirate period

just wondering how many digits of serial code looks like protection and wont annoy users
ApochPiQ
ApochPiQ
I'm going to abstain from further discussion on this topic, because of my very vehement hatred for all things DRM. I'm afraid I can't offer any constructive advice if you are really committed to doing copy protection.
Antheus
Antheus


just wondering how many digits of serial code looks like protection and wont annoy users


16.
_the_phantom_
_the_phantom_
Many years ago I did serial code generation for a company; the algo was simply a rot13 of the registering name, the sum of some values and some more check sum values. I think the final string came around around 12 to 15 characters in lengh.

Key points; it was easy to do brain wise, spent maybe an afternoon working out a few kinks with the php serial generation code, and it was just complicated enough that you couldn't guess how to make a number and register.

To input the code the user could copy and paste the data from an email <--- important.
You have no idea how annoying it is when you are forced to type a key provided in an email...

But, yeah, I wouldn't put more than an afternoon into it if you really want to go with it...

At the same time you could probably save yourself an afternoon, not bother, make your legit customers happy by not requiring they have a serial number and just accept some people will pirate it *shrugs*
Antheus
Antheus


To input the code the user could copy and paste the data from an email <--- important.


Depending on demographic, most of your users might not use copy paste.

So do not mix similar symbols, such as O or 0, let alone something like I or l. While you're at it, avoid strange letters like Y since those tend to migrate across different keyboards.

And for those that do copy-paste, make sure to not prevent it. Typical example: ABCD-EFGH-1234-5678, while code entry form is made of 4 separate boxes each of which accepts 4 letters (looking at you, most of the software out there).
Adam_42
Adam_42
Instead of something that's typed in, I'd go with a file containing the license key. That way the size doesn't matter, and it can't be typed in wrong. You can also give it a unique file extension that you associate with your program on install, so that all the user needs to do it double click it after they download it.

What you almost certainly want to use to generate serial numbers is public key cryptography. You sign user details with a private key which you keep secret, and check them using the public key which is embedded somewhere in the program. If you do that correctly there's no practical way for a hacker to make their own program that generates valid keys. See http://www.seoxys.com/registration-schemes-asymmetrical-cryptography/ for more details.

Of course that still leaves other ways for the game to be hacked, which you can't prevent. It also doesn't stop people simply sharing valid keys, which is not preventable without some sort of activation scheme.

Of course the more layers of security you add the more you'll annoy your customers.

Having said all that you'll probably get a much better return from your time by working on marketing instead of copy protection.
Computercodemonkey
Computercodemonkey
i dont particuly care if it takes a good cracker 10 minutes or 10 years to break it i want it just
good enough to keep people from giving everyone they know a copy

and seriously what is wrong with a little copy protection? its not like im advocating starforce or other invasive bs
i just want a little security so that its not a easier to pirate than pay for....

im a game developer im here to make some money for my time

if you dont like that im a DRM meanie dont reply
SimonForsman
SimonForsman

i dont particuly care if it takes a good cracker 10 minutes or 10 years to break it i want it just
good enough to keep people from giving everyone they know a copy

and seriously what is wrong with a little copy protection? its not like im advocating starforce or other invasive bs
i just want a little security so that its not a easier to pirate than pay for....

im a game developer im here to make some money for my time

if you dont like that im a DRM meanie dont reply


Making software easier to pay for than to pirate is almost impossible, atleast for the first purchase (Registering on a webshop is a pain in the ass and always will be), making it just as easy for returning customers is possible though (And this is definitly something worth spending alot of effort on).
DRM has very little to do with how difficult it is to pirate something for the average user, the casual pirates download a cracked version from their favourite filesharing network and it really doesn't matter how advanced your DRM solution is, it won't exist in the version the pirates download anyway.

What i'd recommend is to forget about DRM in general and instead do this:

1) Focus on finding a convinient way to sell your software.
2) Create some form of online service (it could be something simple like a community site with things like user created content or things like proper support(if your software is some form of middleware), master servers for online games, etc) and require the unique key for access to this service. (Copying a service is far harder than copying software).

DRM only really works if your product is so good/hyped that the pirates can't wait for it (Pirates hate waiting just like everyone else) if you think this is the case for your product then it might be worth it to both spend alot of effort delaying the pirates and even to inconvininece your paying customers slightly.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
wood_brian
wood_brian

Making software easier to pay for than to pirate is almost impossible, atleast for the first purchase (Registering on a webshop is a pain in the ass and always will be), making it just as easy for returning customers is possible though (And this is definitly something worth spending alot of effort on).
DRM has very little to do with how difficult it is to pirate something for the average user, the casual pirates download a cracked version from their favourite filesharing network and it really doesn't matter how advanced your DRM solution is, it won't exist in the version the pirates download anyway.

What i'd recommend is to forget about DRM in general and instead do this:

1) Focus on finding a convinient way to sell your software.
2) Create some form of online service (it could be something simple like a community site with things like user created content or things like proper support(if your software is some form of middleware), master servers for online games, etc) and require the unique key for access to this service. (Copying a service is far harder than copying software).


My approach is to give away the service and work on selling advertising and consulting around the service. It isn't easy, but think a service is the best way to thwart thieves.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.