copy protection scheme?

Started by
5 comments, last by ByteMe95 22 years, 5 months ago
I want a way to stop or reduce the copying of the game I am about to release. I plan on distributing it through shareware, and if they want to purchase they pay and they get a special registration code (Could be an algorithm to figure out a key from the buyer''s name). Then that would turn the shareware version into the registered version (It''ll all be there, just "locked" up until you enter the key). Then I was thinking of maybe marking the OS serial # or some hardware serial # and saving it to compare every time the game is run. So you can''t copy it once you register it, it wont work on other computers. But you will always be able to copy the shareware, which is good. Possible?? ByteMe95::~ByteMe95() Cerebrum Software
ByteMe95::~ByteMe95()My S(h)ite
Advertisement
Possible: yes.

But it''s dangerous, you can scare away your clients in no time with such a protection.

1) What if your client changes it''s OS or hardware ? Do they need to get a new reg.code everytime ? Annoyance factor is very high, people will avoid your software.

2) If your app will be successfull, then a crack will be available a few days later. People will prefer cracking your app than getting through the annoying registration thing.

What you should do, esp. with shareware: Don''t try to force people to pay, this won''t work (unless you have some really high profile app, but then it wouldn''t be shareware anyway). Don''t use an unlock code, it will be cracked in a few days. Have a restricted shareware app, were the registered functions aren''t compiled into. If a client wants to register, take his name, encode it somewhere in the full application (so that you can track potential illegal copies down to their source) and send them the app via email. And, most important: *never ever* restrict the use of your app to a certain OS version or PC. People will hate that. And if you plan to distribute your app internationally: this practice is illegal in a lot of countries and you might take the risk of legal measures from clients against you.
Wow, illegal in cetain countries??? That never even crossed my mind.
Well what about using the CPUID or some piece of hardware that isn''t likely to change on the computer it was installed in??
Sendnig the registered version by email is possible, but it''s like a 13mb file adn modem users certainly wouldn''t appreciate that

ByteMe95::~ByteMe95()
Cerebrum Software
ByteMe95::~ByteMe95()My S(h)ite
you could make the full version require the install CD to be in the CD-ROM drive to run the program...
of course this would annoy the hell out of me, and i''d probably just not use it anymore.

--- krez (krezisback@aol.com)
--- krez ([email="krez_AT_optonline_DOT_net"]krez_AT_optonline_DOT_net[/email])
I dont plan on distributing CDs anyway

ByteMe95::~ByteMe95()
Cerebrum Software
ByteMe95::~ByteMe95()My S(h)ite
CD-Protection? Cool. I haven''t seen one that couldn''t be cracked yet. For most of the common systems, there are even "one-fits-all" cracks out there.
Binding to OS and/or hardware IDs sucks, look at Microsoft.
The only way I see would be a solution like it is offered by several software companies that give you restricted access to an ftp-server for some time after payment. Downloading 13MB is not too bad I''d say, and if you offer a CD version for some additional S&H it would be a viable soultion. And don''t give out the full version to anybody, create a stripped down package. That way cracks are way less useful plus the trial version is smaller.
If you distribute the full program, it will be cracked, assuming it''s good enough that people want to (and hopefully it is). The only way to prevent people cracking the shareware version is to leave out the stuff you don''t want them to access.

Even them, you can''t stop people distributing the full version, if they should buy it. I''ve installed three new CPUs in my computer, and I wouldn''t want to have to get a new key each time. I''m fine with serial numbers with the CD, or download, whatever.

If you use a one-way hash (such as MD5 or SHS) and store the hashed form of the key in your program, it''ll be effectively impossible for a cracker to make a program to guess a key that generates the same hashed form. That doesn''t mean somebody can''t distribute your program with the key, of course.

If you have an online game, you might make it notify the server when you play it online. If two games have the same key, you know one of them is an unauthorised copy. This only works if only certain keys are valid, and it''s difficult to discover valid keys (otherwise a cracker could hack keys at random into his program until he found one that wasn''t already used). It also only works if you must connect to your server in order to play the game.

All your bases belong to us
CoV

This topic is closed to new replies.

Advertisement