Looking for suggestions of software already written or programmers willing to take up the job. We're currently working on software that requires unique identification of the PC it is operating on. The operating system it runs on is either Windows XP , Vista or 7, though mostly XP. These computers are hosted on Vmware esxi (virtual machines). Most software is focused on determining that none or very little of the PC's identifiers are different from one instance of execution to another, ie. that the computer doesn't change, usually for copyright protection such as Windows activations. In this case, we are looking to check whether the profiles generated from the identifiers from two different executions are definitely different. In other words, not could the computers be different but could they be the same one or is it unlikely. The point is my users get linked running the software with similar hardware/software profiles. This is the equivalent of browser fingerprinting for a PC. Identification of a PC requires a comprehensive and complete list of all available hardware identifiers, such as: Hard drive serial, MAC Address, CPU serial, motherboard serial, bios version, video card details, etc. If you or your team have years of experience in computer security, PC/device fingerprinting and/or in conjunction with virtual machines, and/or licensing protocols, do you have suggestions for software that changes these values in VMs, or places to find information on how to do it, or are willing to write a Windows utility to change them nice and neatly.