They can do that if they know I use NIC's Mac Address for licensing,
If they dont know ?
When Installing, I will take MAC address, Hash it properly in my way, and
put in a table's field, Nobody will know the truth, Just me and God
How does that prevent the user from figuring out that you've used the MAC
address for licensing? All that prevents is them seeing the MAC address
where you've stored it. Some simple black-box testing will easily reveal
your use of the MAC address as a licensing scheme.
IMHO, Brandon's comments are right on the money. There is no need to use
the MAC address for a simple anti-piracy licensing scheme, and any
complicated anti-piracy licensing scheme, whether it uses the MAC address
or not, is very likely to do more to interfere with your own licensed
customers than it will to stop people who would not be stopped by a
simpler, more user-friendly scheme.
I understand the temptation to use copy-protection in your application,
but _any_ copy protection runs the risk of hurting your legitimate users,
and the more complicated the copy protection, the more likely they are
going to run into serious problems. Since there is _no_ copy protection
that will interfere with someone serious about pirating your software, it
stands to reason that the more complicated the copy protection, the less
likely you will have fairly balanced the needs of your customers with your
own interests.
Microsoft can get away with this sort of crap (see, "Product Activation),
because so many of their customers don't have a choice. Even they see a
certain amount of lost sales as a result. For whatever you're working on,
I doubt you have the sort of market clout that Microsoft has, and it will
be much easier for your customers to just give up and stop buying your
sofware.
So, if the question of how you treat your customers doesn't sway you, you
should at least consider what the total economic effect on you will be.
Pete