General Discussions

Reg key or full download? – Curry

Curry
Member

Posts: 134
From: USA
Registered: 11-21-2002
For those that do shareware or sell SW for download online, what do you use: registration unlock codes or separate demo and full downloads?

(For myself, I've always used unlock codes in the past.)


Curry

Briant

Member

Posts: 742
From: Stony Plain, Alberta, Canada
Registered: 01-20-2001
I use the registration code technique, as I think it offers a little greater protection against piracy. It also simplifies the process for the purchaser, since they don't have to download/install the app again.

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

Christian
Member

Posts: 400
From: Australia
Registered: 09-15-2002
When I was involved in a demo version, I made sure that none of the functionality I wanted to keep from the demo users was physically in the code. A reg key only solution is surely the easiest to crack.
Briant

Member

Posts: 742
From: Stony Plain, Alberta, Canada
Registered: 01-20-2001
But what happens when your non-demo version gets around? The average Joe will copy it then. Reg key solutions are not really simple to crack, I've found that even most programmers don't know how to do it. Although, a cracked version (or a cracker program) can also get spread around, but due to extra steps involved, I think it won't happen as much as a non-demo version.

One other benefit of the key-code version: only one .exe (and thus only one project to maintain/distribute.

One idea I'm playing with for my next release (which will use reg key) is putting checksum checks in the code as well, which will also minimize cracking.

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

CobraA1

Member

Posts: 926
From: MN
Registered: 02-19-2001
Although there are only a few who do it, there do exist crackers that can crack almost anything. If your programs aren't too popular, you can get away with a simple solution. There's cracks for most of the popular programs and games, though.

Westwood Games uses both strategies: They have a demo version with features stripped, and when you finally do buy the full version, it comes with a reg key and other forms of copy protection.

------------------
There are only 10 types of people - those who understand binary, and those who don't.

rowanseymour

Member

Posts: 284
From: Belfast, Northern Ireland
Registered: 02-10-2001
I used to crack programs - it is kinda fun - like a puzzle. I never released any cracks, just did it for sport. Just like hacking - its fairly easy to do, but the people who do it want everyone to think its really hard so that they feel smart.

My advice to people looking to protect their demo software would be firstly: always avoid dialog boxes that ask for serial numbers. The cracker simply sets GetWindowText and GetDlgItemText calls as breakpoints, and then steps through the proceeding code to see where the real serial no. gets loaded from (or finds the comparison code and hacks that). Using a file with the serial no, and opening it with a low level function would probably be better.

I don't think there is such a thing as a non-crackable program - tho as Cobra says - if your program is sufficiently unpopular you don't have to worry because no cracker is going to be bothered.

Maybe you should just accept that it will be cracked and put a nice message in your program for the would-be cracker. If you were to place a string in memory right after the real serial number they'll see it in their debugger window. Tell them God loves them

Briant

Member

Posts: 742
From: Stony Plain, Alberta, Canada
Registered: 01-20-2001
Yes, nothing is uncrackable. All you have to do is do enough to make it not worth the cracker's effort. Like multiple checks sprinkled throughout your code, so a cracker would have to deal with every one of them, instead of just one.

It *is* fun to crack programs, I also like the puzzle aspect of it. It's just as fun to make cracking as hard as you can.

Rowan, I *really* like your string idea to send messages to crackers, that's awesome.

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

Briant

Member

Posts: 742
From: Stony Plain, Alberta, Canada
Registered: 01-20-2001
There's an interesting article about crack protection at:
http://www.gamasutra.com/features/20011017/dodd_pfv.htm

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

ArchAngel

Member

Posts: 3450
From: SV, CA, USA
Registered: 01-29-2002
mannn... I wanna crack a program now! sounds like fun.
actually, it's something I'd probably like to do. though not for illegal purposes.

------------------
Fight(as in overkill) the Good Fight of Faith...

Christian
Member

Posts: 400
From: Australia
Registered: 09-15-2002
Most game companies expect their stuff to be high profile for crackers, and so *know* it will be cracked. Their protection is designed to stop cracking for long enough that they sell enough copies to make a profit. Games are unique though, 90% of all sales, ever, occur in the first few months.
Neil Roy

Junior Member

Posts: 5
From: Kingston, ON, Canada
Registered: 06-08-2003
I think when I do decide to sell a game (which I plan to do soon), I will release a shareware version, and a full version will be seperate.

I should be able to only have to maintain one source code though, not two sets. All you have to do is throw in some #defines... for example, at the top of your source have:

#define SHAREWARE

Then later in your source you come to a function that isn't allowed in the shareware version so you do a check...

#ifndef SHAREWARE
void full_version_function()
{
...
... code
...
}
#endif

#ifdef SHAREWARE
void shareware_function()
{
...
... code
...
}
#endif

When you compile this, the code that is only meant for the full version won't get compiled in the shareware version, instead, a limited shareware function will get compiled. When you wish to compile the full version simply remove or comment out the #define SHAREWARE... or do the reverse, have a #define FULLVERSION at the beginning and only compile sections if FULLVERSION is defined.

Either way, you only need to maintain one source code yet you can easily compile both versions.

Of course, the downside to sending out a seperate full version of your game is that the person who gets it can then give it away to friends without the need for any registration code at all. You could always personalize the full version that you send out, perhaps with the person's full name imbedded? Hmmm...

Anyhow, that was a good article, glad I read it. It has made me rethink how to go about minimizing my losses due to pirates. Not that I think anything I create will be pirated in a big way anyhow.

------------------
Neil Roy

"O that there were such an heart in them, that they would fear me, and keep all my commandments always, that it might be well with them, and with their children for ever!" - Deuteronomy 5:29