posted 13 years ago
The license server could refuse to run except on a single machine -- when the company buys the product, you give them an encrypted license file that allows the license server to run on a single machine of their choosing. But it's true that a license server can be decompiled or otherwise reverse-engineered, if people have access to the binary.
A variation that requires more infrastructure on your part is to run the license server over the Internet. You run the license server on your own server, and it decides which clients to allow to run. If the key file is unique for each customer, then at least you know who is copying the software.
The truth is, of course, no such system is unbreakable.