Vahan,

Programs like RegMon (http://www.sysinternals.com/ntw2k/source/regmon.shtml) 
makes it very easy to find things that are hidden merely by putting it in an 
obscure place. IE I don't think that's a very good way of protecting the 
app.  It would be better in my humble opinion, to retrieve (for example) the 
Windows serial number/key and/or activation key (which should be unique per 
installation of Windows) at install time, and hash this in some way, and 
store result of the hash (the hashed value) in a standard location for your 
app, eg HKEY_LOCAL_MACHINE/Software/<>/ActivationKey.   This way it doesn't 
matter if the user sees it or knows how to use regedit as they won't know 
what goes into the has value, nor how you calculate it.

When the application starts, it can simply recalculate the hashed value and 
compare it to the install time value from the registry.  Thus, even if the 
user is clever enough to copy the app and the registry tree for your 
application over to another PC, the new calculated hash value on the new 
machine will be different to the one on the original machine (due to the 
windows serial/key and other values being different), and thus the app won't 
work unless they also modify all the registration/key etc values that you 
use in your hash calculation to be the same as on the original machine. 
Since they won't know exactly what you use, that is likely to be more hassle 
than it's worth the average user. Good things to try and include would be: 
Windows Product key, Activation key (if you can find it), Network Mac 
address, HDD Serial number, Video card adapter ID string. etc.

Cheers

Walter

----- Original Message ----- 
From: "Vahan Yoghoudjian" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, May 30, 2005 7:58 AM
Subject: RE: [list] RE: [delphi-en] Re: GUIDs and the registry


    The license is done by machine not by user... The thing is that we 
already have a folder as HKEY_LOCAL_MACHINE/Software/ that contains some 
properties of the software, easy for any user who is aware of something 
called windows registry to find it out, that's why I do not want to store 
the activation key of the software in that same folder, but rather in an 
unknown location in the registery...
    Also, if possible, I would like that any user in windows, even with 
limited privileges would be able to install the software (of course if he 
has the right to do) and that my application always writes to the same 
location in registery...

Thanks guys for your help
Vahan



-----------------------------------------------------
Home page: http://groups.yahoo.com/group/delphi-en/
To unsubscribe: [EMAIL PROTECTED] 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/delphi-en/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to