in reply to Registering and License Keys

What I would do in your situation is in two parts.

First, I would make a trial version that would have limited abilities

Secondly, I would make the software look for a "registration database" located on YOUR web site, that way the software wouldn't be registered to a perticular user but to a domain. If the domain isn't in your database, add them and increment their 'trial' flag each time the program starts, when they have reached a specific number you can disable the product
If the domain is in your database you can pass a 'registration key' back to the program and it will work as designed

With this method, you also don't have to worry about people passing out the registration serial number to a group like 'serials 2000'

I know it's a lot more programming, but I have a feeling it would be worth it in the long run.

Replies are listed 'Best First'.
Re: Re: Registering and License Keys
by Anonymous Monk on Feb 13, 2003 at 16:57 UTC
    I personally like the idea of a registration database kept somewhere on your site. You'd want to make sure that the registration keys are time limited and specific to requesting site. For example, the program requests a key from the license server, the server verifies the registration (by the sender's public key) and then replies with a pgp encoded payload consisting of the requestors IP, a time stamp, and a license expiration date. Assuming that the pgp is decrypted properly the software is unlocked to run on that IP (or domain) for some period of time (say 48 hours). The use of pgp is pretty crucial though as it provides verfication of the requestor and assures the veracity and timeliness of the license. If user requests a demo license you can do something like provide a time limited license key that explicity locks off portions of the functionality. Obviously none of this prevents people from trying to hack your source code to remove the security checks. However, if you do it properly you can make it more difficult and probably buy enough time and money to have the code ported to C.
Re: Re: Registering and License Keys
by Massyn (Hermit) on Feb 13, 2003 at 21:43 UTC

    The problem with this idea, is that a proficient perl coder could still go into the script and change it not to go to a central database. The idea does have merrit, so maybe combine it with a bit of obfuscation, making it real difficult to determine where the database call is made, could pay off in the end.

    ...

    Thanks!

    #!/massyn.pl The early worm gets caught by the bird.

      Yes, a proficient perl coder could disable to 'registration database' check

      However, a 'proficient perl coder' could create his own app too!