Hi Ken, Thanks for the reply. > In this case, with a fixed serial number(s), I don't think there's any > real point encrypting anything. > > You see, the DLL would need a master list of valid serial numbers. And > it makes no real difference if that list is a set of "encrypted" > serial numbers, or just a set of unencrypted serial numbers. > > Your system doesn't aim to prevent copying of the software - only to > prevent the use of software without a serial. By copying the serial, > anyone can copy the software. Whereas in my previous suggestion you > are aiming to prevent the copying of software - in that case, the > software checks machine properties against the serial, however only > you can generate the serial numbers, and the serial number is unique > for each machine. Yes my only aim (at the moment) is to prevent people using the DLL without a valid serial number. I haven't really thought about piracy, or people sharing the serial number with their friends. What I would do is keep a database of serial numbers I send to customers, and if I see a particular serial number on a piracy site (etc..), I guess I would try to take action against the customer, or at least not provide any future versions of the DLL to that customer. This is only a quick explanation, but can you see any problems I might encounter doing it this way? Do you know of any links that might be relevant to what I'm doing? Thanks, Craig Dyer.