Shadowed
Самый надежный способ заставить юзеров платить деньги - объяснить им, что это в их же интересах прежде всего. Для этого есть такое мощное средство как поддержка. В частности, антивирусы базы обновляют.
Привязка к железу ломается на NT-платформах наверное легче всего, проще только проверка в коде if (!wcslen(szPass,L"secret_pwd"

) ломается. По крайней мере, мне известно как это все легко сломать.
А вообще специфика защиты прежде всего зависит от того, сколько программа стоит (это косвенный параметр, указывает на то, сколько может стоить защита и сколько - взлом), для чего она используется, в каком окружении (intranet или все желающие), и так далее, вплоть до возможности применения различных устройств на уровне самого железа.