Archived

This topic is now archived and is closed to further replies.

jtech

Registration systems

Recommended Posts

jtech    108
How would I, as a programmer, go about designing a registration system for my software? In other words, that part where the user enters a registration code into a dialog box to fully enable all features of your program. BTW, this is not necessarily for a game. I would rather learn to program this myself, rather than using somebody else''s software registration system. I would like to understand how to keep track of licenses, to add them, remove them, without affecting old or new users, what works best, what doesn''t, etc... I am not particularly interested in strong protection techniques, only how to design the complete system.

Share this post


Link to post
Share on other sites
jtech    108
Aside from creating an algorithm to test for valid registration codes,
what other details are there when designing a registration system?

Has anyone out there created a shareware program with something like
this? Can anyone share their experiences?

Share this post


Link to post
Share on other sites
Kylotan    9865
I''m not sure how this really applies to this forum, specifically. But anyway... the main problem with registration, beyond the valid code generation system, is preventing crackers from bypassing it. Obviously storing a boolean variable somewhere saying "registered" or "not registered" is not going to suffice, because a cracker can easily change the code check that reads the variable. You have to find more complex ways of achieving this.

Share this post


Link to post
Share on other sites
Shannon Barber    1681
This is an excellent example for Software Engineering. If you had written the whole program not thinking about a share/cripple-ware version, it could require significant rework to make one program that can be unlocked. If you think through the consequences of crippleware ahead of time it should be much clearer and easier to code.

I''ve never made a crippleware program though, so I don''t have any solid experience to give advice from. I can think of two ways to do it: Each object that you want to limit needs a way (method) to turn on & off it''s crippled features. Or you make wrapper objects that intercept the crippled method; ala decorator pattern.

Magmai Kai Holmlor
- Not For Rent

Share this post


Link to post
Share on other sites
Anthracks    122
I've seen an article or two on this subject floating around the web, I'll see if I can dig up the links...

I found one on flipCode that covers this, read it and all the responses to it too, it's interesting.

There was one in Game Developer magazine a few issues ago too, but it doesn't seem to have made it on to GamaSutra. But at least look over the article on flipCode.

Anthracks

Edit: I screwed up my stupid HTML...

Edited by - Anthracks on August 11, 2001 1:39:46 PM

Share this post


Link to post
Share on other sites