Archived

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

Registration systems

This topic is 5967 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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
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
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
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
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