mit welcher Programmiersprache arbeitest du denn überhaupt?
Am einfachsten ist es wohl, dass du zum einen ein Requester Tool baust, das auf Basis DEINES Algorithmus eine Hardware ID berechnet.
z.B. sha1(sha1(Festplattenseriennummer) + sha1(mac adresse aller netzwerkinterfaces))
Die überträgst du dann an dich, kompilierst ihn in den Code ein (obfuscatest den Code) und gibst ihn an deinen Kunden raus.
Das Prizip kannst du natürlich ausbauen indem du das ganze über eine Online Datenbank machst.
Ich habe mich mit dem Thema noch nicht befasst, ich bin sicher, das kannst du beliebig kompliziert machen. Notfalls mit einem Hardware Dongel.