License key for XYZZY expiry-date=2009-01-01 other-info=blah key=[md5 has of MAC. I've used both FLEXlm from Macrovision (formerly Globetrotter) and the newer. Accept that the crackers wouldn't have paid for the software anyway. After cracking with ltrace XPrismPro, i was really interested in some of the internals of the comercial protection used: FlexLm (Flexible License Manager).
>>> The hard part with software licensing is making it resistant to cracking. You couldn't be further from the truth. No one is gonna crack your software. There isn't 1% of your customers who could disassemble your software. There isn't 0.1% who could make a crack.
Enterprise users don't even run cracked software. Software licensing is about making as little work as possible to block non paying users. Time spent developing useless counter measures is time not spent selling and developing your product. A good old key file with only the last payment date will do just fine. Send everyone who didn't pay since last year to your payment page:D. I think the point is that the only way to make your software genuinely resistant to cracking is an onerous DRM scheme like you see with games or obscure engineering software. Stuff that takes a lot of work to implement (or $$ to license) and more importantly actively annoys legitimate users.
Anything short of that is probably going to be cracked for software that is even modestly popular. I think setting the bar just high enough to keep grandma from breaking it is pretty much just as good as something more sophisticated. The psychology of it is, you can't stop nefarious users ultimately. But you need something that at least makes honest users take some extra action specifically to crack your software. Making them feel like they are pirating something will stop most honest users. I think it comes down to what is easier, faster and most convenient to do -- download a cracked copy from a bittorrent site or jump through the hurdles of ordering a legitimate copy.
There have been many companies/independent developers who have used the 'warez scene' to intentionally 'leak' and distribute their software. As the software gains traction they make it easy for the user to buy a license so they can update the software from within the software. Otherwise the user has to wait until a new cracked copy gets released. You'll never ever stop anyone from cracking your software but convenience does come at a price.
The part that does this is not FlexLM itself, but safecast with which it is frequently bundled, but many specialized engineering products use only FlexLM without additional DRM layer (FlexLM itself is originally meant for Unix and mostly portable, Safecast is probably Windows-only). On the other hand many things use FlexLM only to provide node-locking which is thing that it can do, but is to some extent an afterthought. The thing was originally designed to be used over network to provide floating licensing, with some minimal resistance to cheating and cracking. In fact it seems that it's original author(s) (wikipedia says that the whole 'team', but it mostly looks like one guy) got fed up with managment and marketing so much that he went on to implement and sell RLM on their own, which mostly seems like slightly better FlexLM without completely nonsensical features.