Hi,
 
I am about to implement security codes which verify the user/site is allowed to run my software. I am envisaging that each site will be given a code and each code will be built using the site/company name and an expiry date. Thus the code won't work if the site name is different, nor will it work after the expiry date (naturally it also won't work for a different product).
 
OnGuard from TurboPower provides exactly these features. As far as I can see it works as follows:
    You embed a unique and private product key in the application.
    The user enters the code they obtained for their product.
    The application checks the code by building a new code from the product key, site name, expiry date and checks it against the code the user entered. If they match then everything is OK.
 
My problem with this is that the product keys need to be embedded in the application. With these keys and their own copy of OnGuard a user/hacker could build their own valid codes for any site name or expiry date. I don't know how hard it would be for a hacker to extract the keys from an application (the recommended approach for embedding them would appear to be constants of type TKey which is a 16 byte binary value) but I suspect it wouldn't be too hard.
 
Has anyone considered this issue before? Is there a way of encrypting the keys in the executable so that they are harder to obtain or does Delphi make it hard enough as it is? Or is there a better tool than OnGuard out there?
 
Thanks for your help.
 
David Brennan.
DB Solutions Ltd.

Reply via email to