If you know the algorithm used to make the keys, you can pretty much guarantee a correct counterfeit. Now, whether or not it will work is a different story, since the key may have already been used, or the program may only accept algorithm keys in a certain range.
Unfortunately, this isn't that easy to do. It requires a lot of reverse-engineering OR access to the algorithm itself.
Assume that everything I say is or could be a lie.