

I have not looked into which are particularly easy to get from C#, as most of the code I dealt with at this level was portable C++ with some platform-specific assembly as needed. Here are a few metrics that can be used in addition to the ones you list.

It places limitations on your software that will tend to hamper your legitimate customer's legitimate desires to use the software. And, be prepared to provide that service quickly and efficiently.įor most use cases, I would warn against hardware locking. If you feel that you need hardware locking, select a company that will make it easy for you to provide customer service to those customers who perform a legitimate upgrade to their system that ends up breaking the fuzzy matching rules.

If you are very successful in what you do, that may unfortunately happen to you. Some large, successful companies (like Microsoft) who came up with hardware locking algorithms have been successfully sued. Having worked at a company that does this kind of hardware fingerprinting, I can tell you that the commercial alternatives are generally pretty solid, but they will all fail in some legitimate cases.īe aware that some patents in this space are very actively enforced.
