Since I have a little experience in cryptography, let me help you understand why generating a TCG loot keygen is not going to happen. First off, one needs to understand how a product key or serial is created in the first place. For it to work there is a pattern within the code that needs to be recognized. These patterns can be simple or rather complex. Let me give you a very simple answer that no one really uses, but is easy to see what I am saying. A pattern could be that every odd character must be a letter, while ever even character must be a number (so E1J5c3b0). See what I mean? That is a very easily recognizable pattern.
Usually these codes are quite long because it allows you to create an incredibly complex cipher. Now, most reverse-engineers/hackers that create these keygens are not necessarily some Math wiz or intuitive genius that is able to see these patterns. You see, the actual code to decipher a product key is embedded into the source code of the program (another problem you will have here as the source code for TCG loot is server side, so you cannot reverse engineer it with the method I am about to describe). You see, there are fairly powerful disassemblers out there that can give you a reasonable idea of what the source code looks like. An extremely experienced coder, or let's say, hacker in this sense, can understand the patterns within the assembler and then translated the code back to C (or C++). For code junkies, it is easy to tell from assembly if it is C++ because of the "this" pointer gets passed in the ECX register.
So, if you know what you are doing you basically can decipher the key validation routine and then reverse it with a key generator.
Here is the problem now you will face as I am 100% certain Blizz does this. If the developer (Blizz in this case), uses asymmetrical encryption to generated the keys (RSA/Elliptical), the only way break into a program is to actually hack the runtime so you can run the program without needing a product key. Obviously, in this circumstance, that approach is not valid.
THE ONLY OTHER WAY TO CREATE A KEYGEN IN THIS CIRCUMSTANCE IS TO HAVE ACCESS TO THE PRIVATE KEY. Seriously, you are not going to reverse engineer this key.
In case you are trying to understand
why one needs to understand what asymmetrical encryption means. It essentially means that one key encrypts and a completely different key decrypts. In other words, the key that generates the serial for the TCG loot cards is not actual part of the Warcraft program, but the program can still vaidate the key (of which even an extra layer of security is that all validation even occurs server side anyway, so the wow program installed on your computer does not actually have any way to be reverse engineered to develop a keygen for TCG loot cards.
You can watch this video for a really simple understanding of how asymmetric encryption works on public keys.
But get this, if Blizz really wanted to they could add even more layers of complexity on top of this! There's a certain level of diminishing returns on security at some point of course.
TL;DR - you are only ever going to build a keygen for something like this if a program can verify a key offline, but if it needs to contact another server (it does in this case), you are not going to decipher an asymmetrically encrypted key.