This question goes out to those of you who have experience with the partial key verification technique for software protection. I'm trying to understand how PKV is better than other keygen schemes, and after reading the much-referenced
http://47hats.com/2007/07/26/implementing-a-partial-serial-number-verification-system/
I have a couple of questions.
Basically, if I understand correctly, the idea behind PKV is that not the entire key is checked on the client side so that if someone (i.e. a hacker) comes up with a keygen, you only have to recompile the software with different checks to the key, and voila, the fake keygen will no longer work.
But what I don't understand is that if there was a keygen at some point, it was obviously able to unlock at lease one of the versions of the software, which can still be found online. So basically, you haven't avoided false keys at all, you just have a version of your software which works with the fake keygen and another which doesn't.
So how exactly is this superior to other keygen protection techniques?