I'd like to write some code that will protect a software product that I'm writing. The code will obtain unique hardware values and use these numbers to create a key code. I've heard and seen this done on expensive COTS packages....it's used to make sure that the software that is sold is ONLY used on a single workstation (based upon the hardware values).
I want to insert similar functionality into my code. I know how to obtain the unique MAC address for a network interface card; however if the customer doesn't have a NIC then I really do need other unique information. Does anyone know what other hardware unique identifiers there are on typical x86 workstations and how to access them via C++? I suspect Motherboards, modems, and CPU's have unique serial numbers that can be accessed but I can't find any documentation that will show me what unique serial numbers exist on a workstation and how to access them?
BTW, yes, I know when a piece of hardware fails the software will have to be re-registered; this will be ok.
Articles via online publications that describe this type of method of protecting software would also be appreciated. I'm searching....but not really finding anything.
thanks,
Jerry
I want to insert similar functionality into my code. I know how to obtain the unique MAC address for a network interface card; however if the customer doesn't have a NIC then I really do need other unique information. Does anyone know what other hardware unique identifiers there are on typical x86 workstations and how to access them via C++? I suspect Motherboards, modems, and CPU's have unique serial numbers that can be accessed but I can't find any documentation that will show me what unique serial numbers exist on a workstation and how to access them?
BTW, yes, I know when a piece of hardware fails the software will have to be re-registered; this will be ok.
Articles via online publications that describe this type of method of protecting software would also be appreciated. I'm searching....but not really finding anything.
thanks,
Jerry