Registration systems
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.
Well, you could instance different objects if the correct key is typed in, or have a (Un)Cripple() methods that are called to (un)lock the functionality.
Magmai Kai Holmlor
- Not For Rent
Magmai Kai Holmlor
- Not For Rent
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?
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?
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.
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
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
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
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
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement